Menentukan sama ada tatasusunan mengandungi unsur pendua adalah keperluan yang biasa ditemui. Walaupun PHP menyediakan pelbagai fungsi untuk manipulasi tatasusunan, ia mungkin tidak dapat dilihat dengan segera cara menyemak pendua dengan cekap.
Pendekatan yang mudah, tetapi tidak cekap, adalah membandingkan tatasusunan asal dengan rakan sejawatannya yang unik, dijana menggunakan fungsi array_unique(). Walau bagaimanapun, kaedah ini menimbulkan overhed pengiraan untuk mencipta tatasusunan baharu.
Seseorang boleh menggunakan array_count_values() untuk mengira kejadian setiap elemen dalam tatasusunan. Dengan membandingkan kiraan yang terhasil dengan panjang tatasusunan, pendua boleh dikesan:
<code class="php">function array_has_dupes($array) { return count(array_count_values($array)) !== count($array); }</code>
Jika fungsi asli tidak cukup menepati keperluan anda, pertimbangkan pelaksanaan tersuai yang merentasi tatasusunan dan semak pendua dalam cincang atau set.
Dalam senario di mana keadaan yang dijangkakan ialah tatasusunan tanpa pendua, prestasi akan dikuasai oleh masa yang diambil untuk melintasi array sekali. Walau bagaimanapun, jika pendua adalah perkara biasa, pendekatan array_count_values() menjadi lebih cekap kerana keupayaannya untuk mengira kejadian dengan cepat.
Atas ialah kandungan terperinci Bagaimana untuk Mengesan Pendua dengan Cekap dalam Tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!