定义
array_map()函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
语法:
array_map(myfunction,array1,array2,array3………);
参数列表
参数 | 描述 |
---|---|
function | 必需。用户自定义函数的名称,或者是 null |
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array3 | 可选。规定数组。 |
For example:
one:
function test($var){
if($var=="dog"){
return "fish";
}
return $var;
}
$arr=array("cat","cow","pig","dog");
print_r(array_map("test",$arr));
output:
Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
function test($var){
if($var==dog){
return "fish";
}
return $var;
}
$arr=array("cat","cow","pig","dog");
print_r(array_may("test",$arr));
output:
Array ( [0] => cat [1] => cow [2] => pig [3] => fish )
Two:
function test2($var2,$var3){
if($var2==$var3){
return "hello";
}
return "world";
}
$var2=array("cat","dog","pig");
$var3=array("snake","sheep","dog");
print_r(array_map("test2",$var2,$var3));
output:
Array ( [0] => world [1] => world [2] => world )
Three:
function test2($var2,$var3){
if($var2==$var3){
return "hello";
}
return "world";
}
$var2=array("cat","dog","pig");
$var3=array("snake","dog","sheep");
print_r(array_map("test2",$var2,$var3));
output:
Array ( [0] => world [1] => hello [2] => world )
通过实例two与实例three的比较可以看出,只有当键值1(默认)的两个值相同时,才会输出hello,也就是” var2== var3”成立时,注意它们必须是对应关系才成立。
注意当自定义函数名为null时:
$var2=array("cat","dog","pig");
$var3=array("snake","dog","sheep");
print_r(array_map(null,$var2,$var3));
output:
Array (
[0] => Array ( [0] => cat[1] => snake )
[1] => Array ( [0] => dog [1] => dog )
[2] => Array ( [0] => pig [1] => sheep )
)