array_walk 可用于自定义函数循环数组或操作数组元素
array_walk 函数原形:
bool array_walk(array arr,string func,[mixeduserdata]);
第一个参数是需要操作的数组,第二个是自定义的函数,第三个是可选参数可以传一个变量或常量进来。
自定义函数定义格式function my_update($value,$key,$userdata),可以只用前面的参数后面没用的参数省略,但如果用到$userdata就必须把$key参数加在中间。
示例一,打印数组元素中的值:
$products['a']=100;
$products['d']=50;
$products['b']=30;
$products['c']=10;
function my_print($value)
{
echo $value."<br/>";
}
array_walk($products,"my_print");
///
示例二,修改元素中的值,自定义函数需要用引用传参(&):
$products['a']=100;
$products['d']=50;
$products['b']=30;
$products['c']=10;
array_walk($products," my_update ",2);
//修改数据后打印数据
array_walk($products," my_print");
//引用参数&$value,可以修改数组中的值
function my_print($value,$key)
{
echo $key."=".$value."<br/>";
}
functionmy_update(&$value,$key,$userdata)
{
$value=2*$userdata*$value;
}