Mengira Nilai Tatasusunan dengan Kecekapan
Dengan tatasusunan yang mengandungi pelbagai elemen, selalunya perlu untuk mengira kejadian nilai tertentu. Dalam kes ini, kami cuba mengira bilangan elemen kosong dalam tatasusunan.
Masalah
Pertimbangkan tatasusunan berikut:
$array = array('', '', 'other', '', 'other');
Cabarannya ialah untuk mengira bilangan elemen dengan nilai kosong dengan cekap. Pendekatan naif menggunakan gelung dan perbandingan melebihi 30 saat untuk tatasusunan besar dengan ratusan elemen.
Penyelesaian Cekap
Untuk meningkatkan kecekapan, kami boleh memanfaatkan fungsi array_count_values. Fungsi ini mencipta tatasusunan bersekutu di mana kekunci mewakili nilai tatasusunan dan nilai yang sepadan mewakili kiraan masing-masing.
function with($array) { $counts = array_count_values($array); return $counts['']; }
Dalam tatasusunan contoh, '' mewakili nilai kosong. Dengan mengakses $counts[''], kami terus memperoleh kiraan elemen kosong, menawarkan peningkatan kelajuan yang ketara berbanding pendekatan berasaskan gelung.
Penggunaan
Kepada gunakan penyelesaian ini, hanya panggil fungsi dengan, menghantar tatasusunan untuk diperiksa. Contohnya, dengan tatasusunan yang diberikan:
$count = with($array); // $count will be 3
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Elemen Kosong dengan Cekap dalam Tatasusunan Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!