在程式設計中,您經常會遇到需要將多個陣列中的資料組合成單一的、內聚的結構。為了實現這一目標,您需要一種有效的方法來合併數據,同時保持其完整性。
為了說明一個實際示例,假設您有兩個數組:一個包含產品相關信息,另一個包含訂單詳細信息。您的任務是合併這些陣列以獲得捕獲產品和訂單資料的合併數組。
單獨使用 array_merge 是不夠的,因為它只會將陣列展平為單一維度。然而,array_merge_recursive 可以解決這個問題,因為它遞歸地合併元素,允許將鍵用作條件。
為了準備合併,數字數組鍵應轉換為字串,並建立關聯數組。此轉換可確保合併過程中鍵不會發生衝突。
正確設定陣列後,使用 array_merge_recursive($ar1, $ar2) 執行合併。此函數將合併兩個陣列中的元素,從而產生一個包含產品和訂單資料的鍵的陣列。
為了進一步說明,請考慮問題中提供的範例:
$ar1 = [ ['gross_value' => '100', 'quantity' => '1'], ['gross_value' => '200', 'quantity' => '1'] ]; $ar2 = [ ['item_title_id' => '1', 'order_id' => '4'], ['item_title_id' => '2', 'order_id' => '4'] ];
透過應用array_merge_recursive 並將鍵轉換為字串,您將獲得以下合併數組:
$result = [ [ 'gross_value' => '100', 'quantity' => '1', 'item_title_id' => '1', 'order_id' => 4 ], [ 'gross_value' => '200', 'quantity' => '1', 'item_title_id' => '2', 'order_id' => 4 ] ];
透過此合併技術,您可以有效地組合來自多個數組的數據,提供資訊的綜合視圖。
以上是如何在 PHP 中有效率地合併多個數組中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!