一个关于PHP 三维数据转二维数据的问题

原数据是下面的结构,需要去除第二层数组,转成二维数据。
还请请教各位大虾。

图片描述图片描述

希望可以转成下面这种结果 。

图片描述

阅读 3.9k
2 个回答
$destArray = array();//原数据数组
$ordArray = array();// 需要数据的数组


foreach ($destArray as $destItem) {
    $orderItem =  array();
    //获取源数据的name
    $orderItem['name'] = $destItem['name'];
    unset($destItem['name']);
    //循环合并其他的键值
    foreach ($destItem as $item) {
       $orderItem = array_merge($orderItem,$item);
    }
    $ordArray[] = $orderItem;
}

print_r($ordArray);

不需要嵌套循环,

$tmp = []; //临时变量用来保存上一次merge后的结果,方便下次merge时使用
foreach ($arr as $ar) {
    $result = array_merge($ar ,$tmp); //将三维数组的每一个元素逐个取出,与$tmp合并
    $tmp = $result; //保存本次合并结果,方便下次合并时使用
}
var_dump($result);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题