PHP

14个成员

PHP array_map() 函数

发表于 2017-01-30 3286 次查看

PHP array_map() 函数

实例

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

<?php 

function myfunction($v) {

 return($v*$v);

 } 

 $a=array(1,2,3,4,5);

 print_r(array_map("myfunction",$a)); 

?>

运行结果:

Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

 

 

定义和用法

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

回调函数接受的参数数目应该和传递给 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)); 

?>

运行结果:

Array ( [0] => Horse [1] => Fido [2] => Cat )

 

例子 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)); 

?>

运行结果:

Array ( [0] => different [1] => same [2] => different )

 

例子 3、将数组中值的所有字母改为大写:

<?php 

function myfunction($v) { 

$v=strtoupper($v); 

 return $v; 

 $a=array("Animal" => "horse", "Type" => "mammal"); 

print_r(array_map("myfunction",$a)); 

?>

运行结果:

Array ( [Animal] => HORSE [Type] => MAMMAL )

 

例子 4、将函数名赋值为 null 时:

<?php 

$a1=array("Dog","Cat"); 

$a2=array("Puppy","Kitten");

print_r(array_map(null,$a1,$a2)); 

?>

运行结果:

Array ( [0] => Array ( [0] => Dog [1] => Puppy ) [1] => Array ( [0] => Cat [1] => Kitten ) )

 

 

发表回复
你还没有登录,请先登录注册