配列内の要素に対して関数を呼び出す
概要
array_walk
配列のすべての要素に対して関数を実行(関数にはキー、値、option値を指定可能)
array_reduce
配列のすべての要素に対して関数を実行(関数には返却値、値を指定可能)
サンプル(array_walk)
<?php
// 配列作成
$a = array("k1" => "aaa", "k2" => "bbb", "k3" => "ccc", "k4" => "ddd");
// 関数定義
function test_func01($value, $key, $option){
echo "key={$key}, value={$value}, optional={$option}\n";
}
// 実行
array_walk($a, 'test_func01', 'hogehoge');
// 無名関数定義
$func01 = function ($value, $key, $option){
echo "key[{$key}],value[{$value}]\n";
};
// 無名関数を使用して、実行1
array_walk($a, $func01, 'foo');
// 無名関数を使用して、実行2
array_walk($a, function($value, $key, $option){
echo "{$key}={$value}\n";
}, 'foofoo');
?>
サンプル(array_reduce)
<?php
// 配列作成
$a = array("k1" => "aaa", "k2" => "bbb", "k3" => "ccc", "k4" => "ddd");
// 関数定義
function test_func01($result, $value){
$result .= "value={$value}\n";
return $result;
}
// 実行
$result = array_reduce($a, 'test_func01', '');
var_dump($result);
// 無名関数定義
$func01 = function ($result, $value){
$result .= "value[{$value}]\n";
return $result;
};
// 無名関数を使用して、実行1
$result = array_reduce($a, $func01, '');
var_dump($result);
// 無名関数を使用して、実行2
$result = array_reduce($a, function($result, $value){
$result .= "{$value}\n";
return $result;
}, '');
var_dump($result);
?>
最終更新:2012年08月14日 08:29