在資料操作領域,合併數組通常是一項常見任務。本文探討了一個特定場景:根據共享列值組合兩個二維數組。
想像兩個數組,每個數組都包含一個具有公共識別碼的物件。這些數組可能看起來像這樣:
$array1 = [ ['rank' => '579', 'id' => '1'], ['rank' => '251', 'id' => '2'], ]; $array2 = [ ['size' => 'S', 'status' => 'A', 'id' => '1'], ['size' => 'L', 'status' => 'A', 'id' => '2'], ];
我們的目標是將這些數字組合併為一個數組,組合共享相同「id」值的元素。
PHP 提供了幾個有助於數組合併的函數。讓我們來探索一下它們:
1。 array_merge_recursive(): 此函數遞歸地組合數組,以來源數組中的值覆蓋目標數組中的現有鍵。它毫不費力地實現了所需的合併,如以下程式碼所示:
$mergedArray = array_merge_recursive($array1, $array2);
2.自訂合併函數:為了最大程度地控制,我們可以創建一個自訂合併函數:
function my_array_merge(&$array1, &$array2) { $result = []; foreach ($array1 as $key => &$value) { $result[$key] = array_merge($value, $array2[$key]); } return $result; }
此函數迭代數組,根據其鍵合併對應的元素。
透過共享列值組合二維陣列是一種常見操作。 PHP 提供了像 array_merge_recursive() 這樣的原生函式來快速合併。然而,對於自訂合併或性能優化,可以使用自訂函數。方法的選擇取決於具體要求和所需的控制。
以上是如何在 PHP 中基於共享列值合併兩個二維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!