繁体   English   中英

如何合并两个数组?

[英]How to merge two arrays?

经过循环并使用以下数组,我可以创建一个新数组。

$data[$val['gid']][$val['rid']][$val['aid']][$teno][$userid]= array();

结果是下面的数组:

array:1 [
  "FS OTHER" => array:1 [
    "FS OTHER" => array:1 [
      "FS OTHER" => array:1 [
        "FS OTHER" => array:1 [
          "D111" => []
        ]
      ]
    ]
  ]
]

我也有另一个数组:

array:41 [
  0 => array:2 [
    "sid" => "D111"
    "desc1" => "BANGKOK"
  ]
  1 => array:2 [
    "sid" => "D111"
    "desc1" => "NONTHABURI"
  ]
  2 => array:2 [
    "sid" => "D112"
    "desc1" => "PATHUM THANI"
  ]

现在,我需要基于'sid'合并此数组以获得以下结果:

array:1 [
  "FS OTHER" => array:1 [
    "FS OTHER" => array:1 [
      "FS OTHER" => array:1 [
        "FS OTHER" => array:1 [
          "BANGKOK" => []
          "NONTHABURI"=> []
        ]
      ]
    ]
  ]
]

您可以准备第二个数组的另一个结构

$new = [];
foreach ($arr2 as $x) {
    $new[$x['sid']][$x['desc1']] = [];
}
// [D111 => [ BANGKOK => [], NONTHABURI => [] ],..

然后只需通过以下方式创建第一个:

$data[$val['gid']][$val['rid']][$val['aid']][$teno][$userid]= $new[$userid];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM