php数组操作之合并相同键名的值,排序,排重,去空值等

一、前言

      数组操作是咱们在编程时候经常遇到的,只是数组函数有点多,用到的时候难免会想不起来。特别是针对多维数组的操作,有的时候用自带的数组函数真的很方便,可以避免多次的foreach循环,这里记录一下一些常用的数组函数,下次遇到相关问题直接看博客就好了。

二、二维数组合并相同键名(key)的键值

1、php的array_merge_recursive()函数

      百度的时候首先出来的就是这个函数,这个函数把一个或多个数组合并为一个数组。并且不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。刚好我们的需求是希望合并数组,相同键名的部分,键值相加,那么就可以用这个函数,把相同键名的组成一个新数组,然后循环累加。示例:

$a1=array("a"=>"1","b"=>"2");
$a2=array("c"=>"3","b"=>"4");
$arr = array_merge_recursive($a1,$a2);  //Array ( [a] => 1 [b] => Array ( [0] => 2 [1] => 4 ) [c] => 3 )
$new_arr = [];
foreach($arr as $key=>$val){
    if(is_array($val)){
        foreach($val as $k1=>$v1){
            $new_arr[$key] +=$v1;
        }
    }else{
        $new_arr[$key] = $val;
    }
}
var_dump($new_arr);
//array(3) {
//    ["a"]=>
//  string(1) "1"
//    ["b"]=&g

猜你喜欢

转载自blog.csdn.net/LJFPHP/article/details/100134090
今日推荐