您的位置:首页 > 其它

array_map 和 array_filter 的使用

2017-05-12 11:41 274 查看
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(),改变下标
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  array_map array_filter