如下一个二维数组,将一个二维数组按照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)));
}
}
估计也没有几个人会有我这种奇怪的需求吧,不过玩玩还是可以的 魔幻二维数组