Rumah > Artikel > pembangunan bahagian belakang > PHP mengesahkan sama ada tatasusunan satu dimensi mempunyai nilai pendua
Kata Pengantar
Dalam pembangunan web, keunikan data adalah sangat kritikal Oleh itu, bagaimana untuk memastikan keunikan data adalah pertimbangan yang penting. Dalam banyak kes, kita perlu mengesahkan sama ada terdapat data pendua dalam tatasusunan PHP menyediakan banyak kaedah untuk mencapai fungsi ini.
1. Gunakan fungsi count dan array_unique
Pengenalan
Dalam PHP, anda boleh menggunakan fungsi count dan array_unique untuk menentukan sama ada terdapat nilai pendua dalam satu tatasusunan -dimensi.
Penerangan Kaedah
Fungsi kiraan boleh digunakan untuk mendapatkan bilangan elemen tatasusunan Jika bilangan elemen adalah sama dengan bilangan elemen selepas penyahduplikasian, ia bermakna tiada nilai pendua dalam tatasusunan. Fungsi array_unique boleh digunakan untuk mengembalikan tatasusunan baharu selepas penyahduplikasian dan membandingkan sama ada bilangan elemen dalam tatasusunan asal dan tatasusunan penduaan adalah sama untuk menentukan sama ada terdapat nilai pendua.
Pelaksanaan kod
function isDuplicate($arr) { return count($arr) === count(array_unique($arr)); } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
2 Gunakan fungsi array_count_values
Pengenalan
Dalam PHP, anda boleh menggunakan fungsi array_count_values untuk memasukkan setiap item tatasusunan satu dimensi Bilangan kejadian unsur Tapis unsur yang kejadiannya lebih besar daripada 1 untuk menentukan sama ada terdapat nilai pendua.
Penerangan kaedah
fungsi array_count_values boleh digunakan untuk mengembalikan tatasusunan bersekutu Kunci tatasusunan ialah nilai dalam tatasusunan asal, dan nilainya ialah bilangan kejadian nilai dalam tatasusunan asal.
Pelaksanaan kod
function isDuplicate($arr) { $values = array_count_values($arr); return max($values) === 1; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
3. Menggunakan fungsi gelung dan in_array
Pengenalan
Dalam PHP, anda boleh menggunakan fungsi gelung dan in_array untuk merentasi tatasusunan elemen dalam tatasusunan, dan tentukan sama ada elemen itu muncul dalam tatasusunan.
Penerangan Kaedah
Gelung for digunakan untuk merentasi elemen dalam tatasusunan dan fungsi in_array digunakan untuk menentukan sama ada elemen muncul dalam tatasusunan.
Pelaksanaan kod
function isDuplicate($arr) { $len = count($arr); for ($i = 0; $i < $len; $i++) { if (in_array($arr[$i], array_slice($arr, $i + 1))) { return false; } } return true; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
4. Menggunakan fungsi array_count_values dan fungsi array_filter dalam PHP 7
Pengenalan
Dalam PHP 7, anda boleh menggunakan array_count_values fungsi dan Fungsi array_filter menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi.
Penerangan kaedah
fungsi array_count_values boleh digunakan untuk mengembalikan tatasusunan bersekutu Kunci tatasusunan ialah nilai dalam tatasusunan asal, dan nilainya ialah bilangan kejadian nilai dalam tatasusunan asal. Fungsi array_filter boleh digunakan untuk menapis elemen dalam tatasusunan Jika elemen memenuhi keperluan fungsi panggil balik, elemen itu dikekalkan.
Pelaksanaan kod
function isDuplicate($arr) { $values = array_count_values($arr); $duplicate_values = array_filter($values, function ($value) { return $value > 1; }); return count($duplicate_values) === 0; } // 使用示例 $arr1 = [1, 2, 3, 4, 5]; $arr2 = [1, 2, 3, 4, 4, 5]; var_dump(isDuplicate($arr1)); // 输出 bool(true) var_dump(isDuplicate($arr2)); // 输出 bool(false)
Ringkasan
Artikel ini memperkenalkan empat kaedah dalam PHP untuk menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi, termasuk menggunakan kiraan dan fungsi array_unique, dan menggunakan fungsi array_count_values, menggunakan gelung for dan fungsi in_array, dan menggunakan fungsi array_count_values dan fungsi array_filter dalam PHP 7. Setiap kaedah ini mempunyai kelebihan dan kekurangannya sendiri Pembangun boleh memilih kaedah yang paling sesuai mengikut situasi sebenar untuk menentukan sama ada terdapat nilai pendua dalam tatasusunan satu dimensi.
Atas ialah kandungan terperinci PHP mengesahkan sama ada tatasusunan satu dimensi mempunyai nilai pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!