php快速处理数组每个元素

    利用四个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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值