Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggabungkan Dua Tatasusunan PHP 2D Dengan Cekap Berdasarkan Lajur Dikongsi Menggunakan Fungsi Asli?

Bagaimanakah Saya Boleh Menggabungkan Dua Tatasusunan PHP 2D Dengan Cekap Berdasarkan Lajur Dikongsi Menggunakan Fungsi Asli?

Susan Sarandon
Lepaskan: 2024-12-03 22:10:14
asal
624 orang telah melayarinya

How Can I Efficiently Merge Two 2D PHP Arrays Based on a Shared Column Using Native Functions?

Menggabungkan Tatasusunan 2D Dengan Cekap Berdasarkan Nilai Lajur Dikongsi Menggunakan Fungsi PHP Asli

Menggabungkan berbilang tatasusunan dengan cekap ialah tugas biasa dalam pengaturcaraan PHP. Artikel ini meneroka penyelesaian optimum untuk menggabungkan dua tatasusunan 2D berdasarkan nilai lajur yang dikongsi tanpa menggunakan gelung bersarang atau prosedur yang kompleks.

Diberikan dua tatasusunan sampel:

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

$array2 = [
    ['size' => 'S', 'status' => 'A', 'id' => '1'],
    ['size' => 'L', 'status' => 'A', 'id' => '2'],
];
Salin selepas log masuk

Matlamatnya adalah untuk gabungkan tatasusunan ini menjadi tatasusunan baharu yang menggabungkan nilai daripada setiap tatasusunan berdasarkan id yang sepadan nilai:

$mergedArray = [
    ['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'],
    ['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'],
];
Salin selepas log masuk

Menggunakan Fungsi Tatasusunan PHP Asli

Untuk memudahkan proses penggabungan ini, PHP menyediakan dua fungsi asli:

  • array_merge_recursive(): Menggabungkan dua tatasusunan secara rekursif, memelihara struktur berbilang dimensi.
  • my_array_merge(): Fungsi tersuai yang menggelung melalui tatasusunan dan menggabungkan nilai yang sepadan.

Contoh Kod Menggunakan array_merge_recursive():

$mergedArray = array_merge_recursive($array1, $array2);
Salin selepas log masuk

Contoh Kod Menggunakan my_array_merge():

function my_array_merge(array &$array1, array &$array2) {
    $result = [];
    foreach ($array1 as $key => &$value) {
        $result[$key] = array_merge($value, $array2[$key]);
    }
    return $result;
}

$mergedArray = my_array_merge($array1, $array2);
Salin selepas log masuk

Kedua-dua kaedah menggabungkan dua tatasusunan dengan berkesan, menghasilkan output yang diingini . Pilihan fungsi bergantung pada keperluan prestasi khusus dan keutamaan kejelasan kod pembangun.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Dua Tatasusunan PHP 2D Dengan Cekap Berdasarkan Lajur Dikongsi Menggunakan Fungsi Asli?. 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