簡體   English   中英

將數組值與特定鍵組合具有相同的值

[英]Combine array values with specific key has same value

我有以下數組:

[
    {
       amendment: 1,
       lcnumber: "A1114564564CT",
       31D: "New Note"
    },
   {
      27: "0/0 (Number)(Total)",
      amendment: 1,
      lcnumber: "A1114564564CT",
   },
   {
      amendment: 2,
      lcnumber: "A1114564564CT",
      31D: "IN SINGAPORE (120 Days from L/C issue date)",
      32B: "USD"
   },
   {
     27: "2/2 (Number)(Total)",
     amendment: 2,
     lcnumber: "A1114564564CT",
     39B: "Exceeding"
   }
  ]

我想做的是將這些值合並到一個具有相同amendment計數的索引中

這是我預期的 output

 [
    {
       amendment: 1,
       lcnumber: "A1114564564CT",
       31D: "New Note",
       27: "0/0 (Number)(Total)",
    },
   {
      amendment: 2,
      lcnumber: "A1114564564CT",
      31D: "IN SINGAPORE (120 Days from L/C issue date)",
      32B: "USD",
      27: "2/2 (Number)(Total)",
      39B: "Exceeding"
   },
  ]

我試過寫一個foreach循環,但這沒有用

foreach($final_datas as $arrflight) {
    $final_array[] = (object) array(
        'lcnumber' => 'AZ300',
        $arrflight['swift_code'] => $arrflight['note']
    ); 
}

它並不完美,但它確實有效。 我相信有人會提供更清潔的解決方案。 我今天沒有喝足夠的咖啡。

$finalArray = [];
foreach ($originalArray as $arrParts) {
    if (!array_key_exists($arrParts["amendment"], $finalArray)) {
        $finalArray[$arrParts["amendment"]] = [];
    }
    foreach ($arrParts as $key => $value) {
        $finalArray[$arrParts["amendment"]][$key] = $value;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM