php快速处理数组每个元素

来源:互联网 发布:方媛开的淘宝店铺 编辑:程序博客网 时间:2024/06/01 08:59

    利用四个php系统函数快速处理数组的每个元素:

    array_map();      返回用户自定义函数作用后的数组

    array_walk();      对数组中的每个元素应用回调函数。

    array_filter();      用回调函数过滤数组中的元素

    array_reduce();  用回调函数迭代地将数组简化为单一的值

    /*
        总结:array_map()  和array_walk() 区别
        1.array_map() 注重结果   array_map() 注重过程
        2.返回值:array_map() 返回数组处理后的数组,array_walk() 返回bollean
        3.array_map()  不改变原数组  array_walk()用&引用可以改变原数组

    */

    利用array_map() 快速清除一维数组的每个元素两边的空格

<span style="font-family:arial;">    </span>array_map('trim',$arr);
   

    自定义函数:快速清除多维维数组的每个元素两边的空格 封装成函数deep_array_map()

    function deep_array_map($arr){        return array_map(function(&$v){    if(is_array($v)){        return deep_array_map($v);    }    return trim($v);},$arr);    }
   

    array_walk() 输出数组的键和值,并且改变原数组  返回bollean

    array_walk($arr1,function($v,$k){        if(!is_array($v)){            echo $k.'....';            //输出数组的键            echo trim($v).'<br/>';     //输出数组的值            $v = trim($v);             //可以改变原数组        }    });

    array_filter() 过滤数组中所有的偶数  返回被过滤后的数组 

$a = array_filter($arr2,function($v){    if($v%2==0){        return false;    }else{        return true;    }});

    array_reduce() 返回一维数组的和  如果有的三个参数,则第三个参数将作为运算的的第一个元素

$arr2 = array('1',false,4,5,6,7,8);$a = array_reduce($arr2,function($v1,$v2){return $v1+$v2;},100);
   

   自定义函数计算多维数组的和

function deep_array_reduce($arr2){    return array_reduce($arr2,function($v1,$v2){if(is_array($v1)){    $v1 = deep_array_reduce($v1);}        if(is_array($v2)){    $v2 = deep_array_reduce($v2);        }return $v1+$v2;    });}


0 0
原创粉丝点击