array_map
默认接受两个参数,第一个为用户自定义函数名称,第二个参数为数组。可以根据用户自定义函数的处理参数个数,来扩充array_map的第2+个参数
先来两个平常数组,用array_map处理一个数组
$arr1=array('a','b','c');
$arr2=array('x','y','z');
$z=array_map(create_function('$item', 'return "i am ".$item ;'), $arr1);
输出$z
结果
array(3) {
[0]=>
string(6) "i am a"
[1]=>
string(6) "i am b"
[2]=>
string(6) "i am c"
}
[Finished in 0.1s]
上面的例子等价于如下代码:
function tmp($arr1){return "i am ".$arr1;}
$b=array_map('tmp',$arr1);
输出$b
结果:
array(3) {
[0]=>
string(6) "i am a"
[1]=>
string(6) "i am b"
[2]=>
string(6) "i am c"
}
[Finished in 0.1s]
参考下面两个数组列子
再次重复:
create_function 两个参数都是字符串 string args string code,分别代表参数列表和函数体
$arr1=array('a','b','c');
$arr2=array('x','y','z');
$z=array_map(create_function('$arr1,$arr2', 'return "i am ".$arr1." ".$arr2 ;'), $arr1,$arr2);
输出$z结果:
array(3) {
[0]=>
string(8) "i am a x"
[1]=>
string(8) "i am b y"
[2]=>
string(8) "i am c z"
}
以上等价于
function tmp($arr1,$arr2){return "i am ".$arr1." ".$arr2;}
$b=array_map('tmp',$arr1,$arr2);
输出$b
结果
array(3) {
[0]=>
string(8) "i am a x"
[1]=>
string(8) "i am b y"
[2]=>
string(8) "i am c z"
}
[Finished in 0.1s]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。