如下一个二维数组,将一个二维数组按照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))); } }
估计也没有几个人会有我这种奇怪的需求吧,不过玩玩还是可以的 魔幻二维数组
扫描二维码关注公众号,回复:
619744 查看本文章