Array_map:
array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
1. 将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组:
<?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 )
?>
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 )
?>
Array_filter()
函数用回调函数过滤数组中的值。
// 该函数把输入数组中的每个键值传给回调函数。如果回调函数返回true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。若无回调函数,则将TRUE的值返回,即可以使用它来过滤空元素
$arr = array(0, 1, 4, '',null, '0', 23);
$arr = array_filter($arr);// array(1=>1, 2=>4, '6'=>23) 下标不改变,使用array_values(),改变下标
|