Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggabungkan Berbilang Tatasusunan ke dalam Struktur Berasaskan Baris Tunggal dalam PHP?

Bagaimanakah Saya Boleh Menggabungkan Berbilang Tatasusunan ke dalam Struktur Berasaskan Baris Tunggal dalam PHP?

Barbara Streisand
Lepaskan: 2024-12-29 16:46:10
asal
260 orang telah melayarinya

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

Menggabungkan Data daripada Berbilang Tatasusunan untuk Struktur Berasaskan Baris

Dalam tugasan manipulasi data, selalunya perlu untuk menggabungkan data daripada sumber yang berbeza kepada buat set data yang komprehensif. Ini boleh dicapai dengan menggabungkan data daripada berbilang tatasusunan. Khususnya, apabila matlamatnya adalah untuk membina struktur berasaskan baris, fungsi array_merge_recursive menawarkan penyelesaian yang berkuasa.

Pertimbangkan contoh berikut. Dua tatasusunan diberikan dengan struktur berikut:

  • Tatasusunan 1:

    • ['nilai_kasar' => '100', 'kuantiti' => '1']
    • ['nilai_kasar' => '200', 'kuantiti' => '1']
  • Array 2:

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

Objektifnya adalah untuk menggabungkan kandungan tatasusunan ini menjadi satu tatasusunan dengan struktur berikut:

  • ['gross_value ' => '100', 'kuantiti' => '1', 'item_title_id' => '1', 'order_id' => '4']
  • ['nilai_kasar' => '200', 'kuantiti' => '1', 'item_title_id' => '2', 'order_id' => '4']

Untuk mencapai ini, fungsi array_merge_recursive boleh digunakan. Fungsi ini menggabungkan tatasusunan secara rekursif, menggabungkan nilai dengan kunci yang sama ke dalam tatasusunan bersarang. Walau bagaimanapun, dalam konteks yang diberikan, tatasusunan mempunyai kunci berangka. Untuk array_merge_recursive berfungsi dengan betul, semua kekunci berangka mesti ditukar kepada rentetan (tatasusunan bersekutu).

Coretan kod berikut menunjukkan penyelesaian:

$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);
Salin selepas log masuk

Melaksanakan kod ini akan menghasilkan gabungan yang diingini tatasusunan, di mana data daripada kedua-dua tatasusunan digabungkan menjadi satu struktur berasaskan baris.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Tatasusunan ke dalam Struktur Berasaskan Baris Tunggal dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan