配列内の要素に対して関数を呼び出す

概要

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