php数组回调函数注意

一般数组函数内执行匿名函数,这种构造大多数为 (array,function(){})
而如果将函数作用于数组,则 (function(){},array1,array2,...)
例如:
1.array_map(function,array1,array2,...) 定义 将函数作用于数组中的每个值
这里注意是作用于value
function myfunction($v)
{
return($v*$v);
}

$a=array(1,2,3,4,5);
print_r(array_map("myfunction",$a));
?>

function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return "same";
}
return "different";
}
$a1=array("Horse","Dog","Cat"); //多个数组时
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction",$a1,$a2));//different same different

2.array_walk(array,function) 对数组中的每个元素应用用户自定义函数:
类似于这种function接受二个参数,array 参数的值作为第一个,键名作为第二个
function myfunction(&$value,$key) &引用,则修改数组中的值
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);//[a] => yellow [b] => yellow [c] => yellow )

你可能感兴趣的:(php数组回调函数注意)