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