首頁 > 後端開發 > php教程 > 如何在 PHP 中將多個數組合併為基於單行的結構?

如何在 PHP 中將多個數組合併為基於單行的結構?

Barbara Streisand
發布: 2024-12-29 16:46:10
原創
259 人瀏覽過

How Can I Merge Multiple Arrays into a Single Row-Based Structure in PHP?

合併多個陣列中的資料以形成基於行的結構

在資料操作任務中,通常需要將不同來源的資料組合起來建立綜合資料集。這可以透過合併多個數組的資料來實現。具體來說,當目標是建構基於行的結構時,array_merge_recursive 函數提供了一個強大的解決方案。

考慮以下範例。給出了兩個具有以下結構的陣列:

  • 陣列1:

    • ['gross_value' => '100' , '數量' => '1']
    • ['gross_value' =>; '200', '數量' => '1']
  • 陣列2:

    • [ 'item_title_id' => '1', 'order_id' =>; '4']
    • ['item_title_id'=> '2', 'order_id' =>; '4']

目標是將這些數組的內容合併到具有以下結構的單一數組:

  • ['gross_value '=> '100', '數量' => '1', 'item_title_id' =>; '1', 'order_id' =>; '4']
  • ['gross_value' => '200 ', '數量' => '1', 'item_title_id' =>; '2', 'order_id' =>; '4']

要實現此目的,可以使用 array_merge_recursive 函數。此函數遞歸地合併數組,將具有相同鍵的值組合到巢狀數組中。但是,在給定的上下文中,數組具有數字鍵。為了讓 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']
];

// Convert numeric keys to strings
foreach ($ar1 as &$row) {
    $row = array_combine(array_keys($row), array_values($row));
}

foreach ($ar2 as &$row) {
    $row = array_combine(array_keys($row), array_values($row));
}

// Merge arrays
$result = array_merge_recursive($ar1, $ar2);

print_r($result);
登入後複製

執行此程式碼將產生所需的合併結果數組,兩個數組中的資料被組合成一個基於行的結構。

以上是如何在 PHP 中將多個數組合併為基於單行的結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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