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

Bagaimana untuk mencapai kombinasi nombor satu dimensi tanpa pengulangan dalam PHP

PHPz
PHPzasal
2023-04-18 09:05:24798semak imbas

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

Seterusnya, kami menggunakan array_merge untuk menggabungkan dua tatasusunan:

$result = array_merge($array1, $array2);

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'b', 'c', 'd')

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

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'd')

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

Pada masa ini, hasil $result ialah:

array('a', 'b', 'c', 'd')

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!

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