PHP将一个二维数组按照某个键的键值做出重组一个新的二维数组

如下一个二维数组,将一个二维数组按照apname的 键值来排序组合成一个新的二维数组  apname 键值不变,其中其他几个红色划线部分进行组合。


构建好之后展现效果如下




使用了两种方式进行构建  

方法一、

function array_chaifen($countnum,$name){

$lists = array_column($countnum, $name);
$lists = array_flip(array_flip($lists));
foreach ($lists as $k1=>$v1){
    $m = [];
    foreach ($countnum as $k2=>$v2){
        if($v2[$name] === $v1){
            $m = array_merge($m,$v2);
        }
    }
    $lists[$k1] = $m;
}

return $lists;

}

方法二、

$result = [];
foreach ($countnum as $key => $value) {
  $name = $value['apname'];
  $isLoad = false;
  $loadKey = false;
  foreach ($result as $k => $v) {
    if($v['apname'] == $value['apname']){
      $isLoad = true;
      $loadKey = $k;
    }
  }
  @$keyTemp = end(array_keys($value));
  if ($isLoad) {
    $result[$k][$keyTemp] = end($value);
  }else{
    array_push($result, array('apname'=>$value['apname'],
      $keyTemp=>end($value)));
  }
}

估计也没有几个人会有我这种奇怪的需求吧,不过玩玩还是可以的 魔幻二维数组

猜你喜欢

转载自blog.csdn.net/coreyc/article/details/79882122
今日推荐