Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mencapai kombinasi nombor satu dimensi tanpa pengulangan dalam PHP

Bagaimana untuk mencapai kombinasi nombor satu dimensi tanpa pengulangan dalam PHP

PHPz
Lepaskan: 2023-04-18 09:12:18
asal
879 orang telah melayarinya

Dalam PHP, operasi penggabungan tatasusunan satu dimensi adalah perkara biasa. Biasanya, kita boleh menggabungkan tatasusunan melalui array_merge atau pengendali "+". Walau bagaimanapun, apabila menggabungkan tatasusunan, kadangkala kita perlu mengalih keluar elemen pendua, jadi apakah yang perlu kita lakukan?

Artikel ini akan memperkenalkan dua kaedah penyahduplikasian berdasarkan nilai kunci tatasusunan, yang melaluinya tatasusunan satu dimensi bukan pendua boleh digabungkan dengan mudah.

  1. Gunakan array_unique

fungsi array_unique untuk menyahduplikasi elemen pendua dalam tatasusunan, dan mengembalikan tatasusunan tanpa elemen pendua, yang boleh digunakan untuk memastikan bahawa selepas penggabungan Terdapat tiada unsur pendua dalam tatasusunan.

Pertama, kami menyediakan dua tatasusunan satu dimensi $array1 dan $array2:

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'c', 'd');
Salin selepas log masuk

Seterusnya, kami menggunakan array_merge untuk menggabungkan dua tatasusunan:

$result = array_merge($array1, $array2);
Salin selepas log masuk

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'b', 'c', 'd')
Salin selepas log masuk

Seperti yang anda lihat, terdapat dua elemen berulang 'b' dan 'c' dalam $result. Untuk mengalih keluar elemen pendua ini, kita boleh menggunakan fungsi array_unique:

$result = array_unique($result);
Salin selepas log masuk

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'd')
Salin selepas log masuk
Salin selepas log masuk

Pada masa ini, terdapat tiada pendua dalam elemen $result.

  1. Gunakan nilai kunci tatasusunan ​​untuk menyahduplikasi

Selain menggunakan fungsi array_unique, kami juga boleh menyahduplikasi dengan menetapkan nilai kunci tatasusunan.

Nilai utama tatasusunan mestilah unik, jadi kita hanya perlu menggunakan elemen dalam tatasusunan yang perlu dicantumkan sebagai nilai utama, untuk memastikan tiada unsur pendua dalam cantuman tatasusunan.

Kita boleh mula-mula mentakrifkan tatasusunan kosong $result, kemudian lelaran melalui dua tatasusunan untuk digabungkan dan tambahkan nilai elemen sebagai nilai utama kepada $result, seperti berikut:

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

$result = array();
foreach($array1 as $value){
    $result[$value] = true;
}
foreach($array2 as $value){
    $result[$value] = true;
}

$result = array_keys($result);
Salin selepas log masuk

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'd')
Salin selepas log masuk
Salin selepas log masuk

Pada masa ini, tiada unsur pendua dalam $result.

Perlu diambil perhatian bahawa walaupun kaedah di atas mengelak daripada menggunakan fungsi array_unique, ia perlu menetapkan nilai Boolean sementara sebagai nilai tatasusunan Oleh itu, apabila menggabungkan tatasusunan, jika nilai tatasusunan itu sendiri jenis nilai Boolean, Mungkin terdapat masalah dengan pendekatan ini.

Ringkasan

Dalam PHP, menggabungkan tatasusunan satu dimensi dan mengalih keluar elemen pendua ialah operasi yang sangat biasa. Artikel ini memperkenalkan dua kaedah penyahduplikasian berdasarkan nilai kunci tatasusunan, yang menggunakan fungsi tatasusunan_unik dan penyahduplikasian nilai kunci tatasusunan. Kaedah ini boleh memudahkan proses penggabungan tatasusunan dan dengan cepat menggabungkan tatasusunan satu dimensi bukan pendua. Apabila menggunakan kaedah ini, anda perlu memilih kaedah yang paling sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk mencapai kombinasi nombor satu dimensi tanpa pengulangan 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