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

Bagaimana untuk menggabungkan tatasusunan dan mengalih keluar pendua dalam php

PHPz
PHPzasal
2023-04-19 09:21:553168semak imbas

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);

Hasil output adalah seperti berikut:

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

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);

Hasil output adalah seperti berikut:

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

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);

Hasil output adalah seperti berikut:

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

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!

Kenyataan:
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