array_map 将回调函数作用到给定数组的单元上
array array_map ( callable $callback , array $arr1 [, array $... ] )
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
callback 必需。对每个数组的每个元素作用的回调函数。
arr1 必需。将被回调函数(callback)执行的数组。
array 可选。将被回调函数(callback)执行的数组列表。
返回值
返回一个数组,该数组的每个元素都是数组(arr1)里面的每个元素经过回调函数(callback)处理了的。
实例:
<?php function cube ( $n ) { return( $n * $n * $n ); } $a = array( 1 , 2 , 3 , 4 , 5 ); $b = array_map ( "cube" , $a ); print_r ( $b ); ?>
输出结果:
<?php Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) ?>
将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新的值的数组:
<?php function myfunction($v) { return($v*$v); } $a=array(1,2,3,4,5); print_r(array_map("myfunction",$a)); ?>
定义和用法
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。
提示:您可以向函数输入一个或者多个数组。
array_map(myfunction,array1,array2,array3...)
myfunction 必需。用户自定义函数的名称,或者是 null。
array1 必需。规定数组。
array2 可选。规定数组。
array3 可选。规定数组。
返回包含用户自定义函数作用后的 array1 的值的数组。
使用一个用户自定义函数来改变数组的值:
<?php function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a)); ?>
使用两个数组:
<?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 function myfunction($v) { $v=strtoupper($v); return $v; } $a=array("Animal" => "horse", "Type" => "mammal"); print_r(array_map("myfunction",$a)); ?>
将函数名赋值为 null 时:
<?php $a1=array("Dog","Cat"); $a2=array("Puppy","Kitten"); print_r(array_map(null,$a1,$a2)); ?>
以上是php中的array_map()函数细节的详细内容。更多信息请关注PHP中文网其他相关文章!