首頁 > 後端開發 > php教程 > 如何在 PHP 中基於共享列值合併兩個二維數組?

如何在 PHP 中基於共享列值合併兩個二維數組?

Linda Hamilton
發布: 2024-12-03 10:14:15
原創
496 人瀏覽過

How Can I Merge Two 2D Arrays in PHP Based on a Shared Column Value?

透過共享列值合併兩個二維數組

在資料操作領域,合併數組通常是一項常見任務。本文探討了一個特定場景:根據共享列值組合兩個二維數組。

想像兩個數組,每個數組都包含一個具有公共識別碼的物件。這些數組可能看起來像這樣:

$array1 = [
    ['rank' => '579', 'id' => '1'],
    ['rank' => '251', 'id' => '2'],
];

$array2 = [
    ['size' => 'S', 'status' => 'A', 'id' => '1'],
    ['size' => 'L', 'status' => 'A', 'id' => '2'],
];
登入後複製

我們的目標是將這些數字組合併為一個數組,組合共享相同「id」值的元素。

PHP 的本機合併選項

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板