簡體   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