array_map 将回调函数作用到给定数组的单元上
1 | array array_map ( callable $callback , array $arr1 [, array $... ] )
|
Salin selepas log masuk
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
callback 必需。对每个数组的每个元素作用的回调函数。
arr1 必需。将被回调函数(callback)执行的数组。
array 可选。将被回调函数(callback)执行的数组列表。
返回值
返回一个数组,该数组的每个元素都是数组(arr1)里面的每个元素经过回调函数(callback)处理了的。
实例:
1 2 3 4 5 6 7 8 9 10 | <?php
function cube ( $n )
{
return ( $n * $n * $n );
}
$a = array ( 1 , 2 , 3 , 4 , 5 );
$b = array_map ( "cube" , $a );
print_r ( $b );
?>
|
Salin selepas log masuk
输出结果:
1 2 3 4 5 6 7 8 9 10 | <?php
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
?>
|
Salin selepas log masuk
将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新的值的数组:
1 2 3 4 5 6 7 8 | <?php
function myfunction( $v )
{
return ( $v * $v );
}
$a = array (1,2,3,4,5);
print_r( array_map ( "myfunction" , $a ));
?>
|
Salin selepas log masuk
定义和用法
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。
提示:您可以向函数输入一个或者多个数组。
array_map(myfunction,array1,array2,array3...)
myfunction 必需。用户自定义函数的名称,或者是 null。
array1 必需。规定数组。
array2 可选。规定数组。
array3 可选。规定数组。
返回包含用户自定义函数作用后的 array1 的值的数组。
使用一个用户自定义函数来改变数组的值:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
function myfunction( $v )
{
if ( $v === "Dog" )
{
return "Fido" ;
}
return $v ;
}
$a = array ( "Horse" , "Dog" , "Cat" );
print_r( array_map ( "myfunction" , $a ));
?>
|
Salin selepas log masuk
使用两个数组:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?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 ));
?>
|
Salin selepas log masuk
将数组中值的所有字母改为大写:
1 2 3 4 5 6 7 8 9 | <?php
function myfunction( $v )
{
$v = strtoupper ( $v );
return $v ;
}
$a = array ( "Animal" => "horse" , "Type" => "mammal" );
print_r( array_map ( "myfunction" , $a ));
?>
|
Salin selepas log masuk
将函数名赋值为 null 时:
1 2 3 4 5 | <?php
$a1 = array ( "Dog" , "Cat" );
$a2 = array ( "Puppy" , "Kitten" );
print_r( array_map (null, $a1 , $a2 ));
?>
|
Salin selepas log masuk
Atas ialah kandungan terperinci php中的array_map()函数细节. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!