PHP array_map() 函数
PHP array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组
( PHP >= 4.0.6 )
函数原型
array_map( myfunction,array1,array2,array3 ...)
提示: 可以向函数输入一个或者多个数组
参数
参数 | 描述 |
---|---|
myfunction | 必需。用户自定义函数的名称,或者是 null |
array1 | 必需。规定数组 |
array2 | 可选。规定数组 |
array3 | 可选。规定数组 |
返回值
返回包含用户自定义函数作用后的 array1 的值的数组
范例
将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新的值的数组
<?php function myfunction($v) { return($v*$v); } $a=array(1,2,3,4,5); print_r(array_map("myfunction",$a));
运行以上 PHP 范例,输出结果如下
Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
范例 2
使用一个用户自定义函数来改变数组的值
<?php function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a));
运行以上 PHP 范例,输出结果如下
Array ( [0] => Horse [1] => Fido [2] => Cat )
范例 3
使用两个数组
<?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));
运行以上 PHP 范例,输出结果如下
Array ( [0] => different [1] => same [2] => different )
范例 4
将数组中值的所有字母改为大写
<?php function myfunction($v) { $v=strtoupper($v); return $v; } $a=array("Animal" => "horse", "Type" => "mammal"); print_r(array_map("myfunction",$a));
运行以上 PHP 范例,输出结果如下
Array ( [Animal] => HORSE [Type] => MAMMAL )
范例 5
将函数名赋值为 null 时
<?php $a1=array("Dog","Cat"); $a2=array("Puppy","Kitten"); print_r(array_map(null,$a1,$a2));
运行以上 PHP 范例,输出结果如下
Array ( [0] => Array ( [0] => Dog [1] => Puppy ) [1] => Array ( [0] => Cat [1] => Kitten ) )