array_map — 返回一个运行过回调函数的数据。
说明
array array_map ( callback callback, array arr1 [, array ...] )
array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
例 1. array_map() 例子
<?phpfunction cube($n){return($n * $n * $n);}$a = array(1, 2, 3, 4, 5);$b = array_map("cube", $a);print_r($b);?>
Array([0] => 1[1] => 8[2] => 27[3] => 64[4] => 125)
<?phpfunction show_Spanish($n, $m){return("The number $n is called $m in Spanish");}function map_Spanish($n, $m){return(array($n => $m));}$a = array(1, 2, 3, 4, 5);$b = array("uno", "dos", "tres", "cuatro", "cinco");$c = array_map("show_Spanish", $a, $b);print_r($c);$d = array_map("map_Spanish", $a , $b);print_r($d);?>
// printout of $c www.it165.netArray([0] => The number 1 is called uno in Spanish[1] => The number 2 is called dos in Spanish[2] => The number 3 is called tres in Spanish[3] => The number 4 is called cuatro in Spanish[4] => The number 5 is called cinco in Spanish)// printout of $dArray([0] => Array([1] => uno)[1] => Array([2] => dos)[2] => Array([3] => tres)[3] => Array([4] => cuatro)[4] => Array([5] => cinco))
通常使用了两个或更多数组时,它们的长度应该相同,因为回调函数是平行作用于相应的单元上的。如果数组的长度不同,则最短的一个将被用空的单元扩充。
本函数一个有趣的用法是构造一个数组的数组,这可以很容易的通过用 NULL 作为回调函数名来实现。
例 3. 建立一个数组的数组
<?php$a = array(1, 2, 3, 4, 5);$b = array("one", "two", "three", "four", "five");$c = array("uno", "dos", "tres", "cuatro", "cinco");$d = array_map(null, $a, $b, $c);print_r($d);?>
Array([0] => Array([0] => 1[1] => one[2] => uno)[1] => Array([0] => 2[1] => two[2] => dos)[2] => Array([0] => 3[1] => three[2] => tres)[3] => Array([0] => 4[1] => four[2] => cuatro)[4] => Array([0] => 5[1] => five[2] => cinco))
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答