array_map() 函数返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
array_map(function,array1,array2,array3...)
参数 | 描述 |
---|---|
function | 必需。用户自定义函数的名称,或者是 null。 |
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array3 | 可选。规定数组。 |
<?php function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a)); ?>
输出:
Array ( [0] => Horse [1] => Fido [2] => Cat )
使用多个参数:
<?php 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)); ?>
输出:
Array ( [0] => different [1] => same [2] => different )
请看当自定义函数名设置为 null 时的情况:
<?php $a1=array("Dog","Cat"); $a2=array("Puppy","Kitten"); print_r(array_map(null,$a1,$a2)); ?>
输出:
Array ( [0] => Array ( [0] => Dog [1] => Puppy ) [1] => Array ( [0] => Cat [1] => Kitten ) )