Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengira Elemen Kosong dengan Cekap dalam Tatasusunan Besar?

Bagaimanakah Saya Boleh Mengira Elemen Kosong dengan Cekap dalam Tatasusunan Besar?

Susan Sarandon
Lepaskan: 2024-12-04 21:36:12
asal
208 orang telah melayarinya

How Can I Efficiently Count Empty Elements in a Large Array?

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');
Salin selepas log masuk

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[''];
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan