Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menggabungkan tatasusunan dan mengalih keluar pendua dalam php

Bagaimana untuk menggabungkan tatasusunan dan mengalih keluar pendua dalam php

PHPz
Lepaskan: 2023-04-19 09:37:45
asal
3249 orang telah melayarinya

Dalam pembangunan PHP, apabila menggabungkan tatasusunan, kadangkala terdapat nilai pendua dalam tatasusunan, dan kami ingin mengalih keluar nilai pendua daripada tatasusunan yang digabungkan. Artikel ini akan memperkenalkan kaedah mudah dan praktikal yang membolehkan anda menggabungkan tatasusunan dan mengalih keluar pendua dengan mudah.

Kaedah 1: Menggabungkan array_merge dengan array_unique

Fungsi array_merge dalam PHP menggabungkan satu atau lebih tatasusunan menjadi satu tatasusunan, yang boleh memenuhi keperluan penggabungan tatasusunan manakala fungsi array_unique boleh dialih keluar Duplikat nilai dalam tatasusunan. Menggabungkan kedua-dua fungsi ini boleh mencapai fungsi penggabungan dan penyahduplikasian.

Kod sampel adalah seperti berikut:

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'c', 'd');
$array3 = array('c', 'd', 'e');

$merged_array = array_merge($array1, $array2, $array3);
$unique_array = array_unique($merged_array);
print_r($unique_array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, tiga tatasusunan ditakrifkan dahulu, iaitu $array1 dan $array2 dan $array3. Kemudian gunakan fungsi array_merge untuk menggabungkan tiga tatasusunan ini menjadi satu tatasusunan $merged_array. Kemudian, gunakan fungsi array_unique untuk mengalih keluar nilai pendua, dan akhirnya dapatkan tatasusunan yang digabungkan dan dinyahduplikasi $unique_array.

Kaedah 2: Gunakan operator "+"

Dalam PHP, anda juga boleh menggunakan operator "+" untuk menggabungkan dua tatasusunan dan mengalih keluar nilai pendua. Operator ini akan mengalih keluar nilai kunci pendua dalam tatasusunan pertama daripada tatasusunan kedua.

Kod sampel adalah seperti berikut:

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'c', 'd');
$array3 = array('c', 'd', 'e');

$merged_array = $array1 + $array2 + $array3;
print_r($merged_array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, tiga tatasusunan ditakrifkan dahulu, iaitu $array1 dan $array2 dan $array3. Kemudian gunakan operator "+" untuk menggabungkan tiga tatasusunan ini menjadi satu tatasusunan $merged_array. Oleh kerana terdapat nilai kunci pendua dalam tatasusunan kedua dan tatasusunan pertama, pengendali "+" mengalih keluar nilai kunci pendua dalam tatasusunan pertama. Akhirnya, tatasusunan yang dicantumkan dan penyahduplikasian $merged_array diperolehi.

Kaedah 3: Gunakan fungsi array_reduce

Selain daripada dua kaedah di atas, kita juga boleh menggunakan fungsi array_reduce dalam PHP untuk menggabungkan tatasusunan dan mengalih keluar pendua. Dalam fungsi array_reduce, kita boleh menyesuaikan fungsi panggil balik untuk menggabungkan tatasusunan untuk mencapai fungsi mengalih keluar nilai pendua.

Kod sampel adalah seperti berikut:

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'c', 'd');
$array3 = array('c', 'd', 'e');

$merged_array = array_reduce(array($array1, $array2, $array3), function ($merged, $arr) {
    foreach ($arr as $value) {
        if (!in_array($value, $merged)) {
            array_push($merged, $value);
        }
    }
    return $merged;
}, array());

print_r($merged_array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi array_reduce untuk menggabungkan tiga tatasusunan menjadi satu tatasusunan. Antaranya, parameter pertama ialah tatasusunan yang perlu diproses, parameter kedua ialah fungsi panggil balik, dan parameter ketiga ialah nilai awal fungsi panggil balik. Di dalam fungsi panggil balik, kami menggunakan gelung foreach untuk mengulangi nilai dalam setiap tatasusunan dan menggunakan fungsi in_array untuk mencari sama ada nilai itu wujud dalam tatasusunan gabungan. Jika ia tidak wujud, nilai ditambah pada tatasusunan yang digabungkan dan hasil gabungan terakhir dikembalikan.

Ringkasnya, kita boleh menggunakan tiga kaedah untuk menggabungkan tatasusunan dan mengalih keluar pendua dalam PHP. Kaedah ini ialah array_merge digabungkan dengan array_unique, menggunakan operator "+" dan menggunakan fungsi array_reduce. Mengikut keperluan dan senario yang berbeza, kita boleh memilih kaedah yang sesuai untuk mencapai penggabungan dan penyahduaan tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan dan mengalih keluar pendua 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan