PHP array_map() 函数


PHP array_map() 函数


实例

将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新的值的数组:

<?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 版本: 4.0.6+

实例 1

使用一个用户自定义函数来改变数组的值:

<?php  
function myfunction($v)  
{  
if ($v==="Dog")  
{  
return "Fido";  
}  
return $v;  
}  

$a=array("Horse","Dog","Cat");  
print_r(array_map("myfunction",$a));  
?>

实例 2

使用两个数组:

<?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));  
?>

实例 3

将数组中值的所有字母改为大写:

<?php  
function myfunction($v)  
{  
$v=strtoupper($v);  
return $v;  
}  

$a=array("Animal" => "horse", "Type" => "mammal");  
print_r(array_map("myfunction",$a));  
?>

实例 4

将函数名赋值为 null 时:

<?php  
$a1=array("Dog","Cat");  
$a2=array("Puppy","Kitten");  
print_r(array_map(null,$a1,$a2));  
?>