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)));
  }
}

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值