首頁 >後端開發 >php教程 >如何在 PHP 中將兩個具有鍵值對的數組合併為一個陣列?

如何在 PHP 中將兩個具有鍵值對的數組合併為一個陣列?

Susan Sarandon
Susan Sarandon原創
2024-12-15 07:17:10674瀏覽

How to Merge Two Arrays with Key-Value Pairs into a Single Array in PHP?

合併多個數組中的行資料

將多個數組中的資料合併到單一內聚結構中可能是一項常見的程式設計任務。本題探討了需要合併兩個陣列以產生具有特定屬性的新陣列的場景。

第一個陣列包含兩個元素,每個元素由「gross_value」和「quantity」鍵值對組成。第二個陣列也包含兩個元素,每個元素由一個「item_title_id」和一個「order_id」鍵值對組成。

目標是將這些數字組合併到一個新數組中,其中每個元素組合了所有鍵-來自兩個原始數組的值對。產生的陣列應該有四個鍵值對:「gross_value」、「quantity」、「item_title_id」和「order_id」。

解決方案

實現此合併的建議方法是透過array_merge_recursive 函數的使用。該函數接受多個數組作為輸入,並遞歸地合併它們的值。

為了準備合併,兩個陣列的數字鍵都會轉換為字串,確保它們成為關聯陣列。以下程式碼示範了這一點:

$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']
];

$ar1 = array_map('array_values', $ar1);
$ar2 = array_map('array_values', $ar2);

轉換數組後,可以使用array_merge_recursive 合併它們:

$result = array_merge_recursive($ar1, $ar2);
print_r($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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn