Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengira Kejadian Nilai Khusus dalam Tatasusunan PHP dengan Cekap?

Bagaimanakah Saya Boleh Mengira Kejadian Nilai Khusus dalam Tatasusunan PHP dengan Cekap?

Patricia Arquette
Lepaskan: 2024-12-01 18:19:10
asal
627 orang telah melayarinya

How Can I Efficiently Count Occurrences of a Specific Value in a PHP Array?

Mengira Nilai dalam Tatasusunan dengan Nilai Tertentu

Dalam senario di mana anda mempunyai tatasusunan dengan pelbagai nilai dan perlu mengira kejadian daripada nilai tertentu, adalah penting untuk mencari pendekatan yang cekap. Bayangkan tatasusunan seperti:

$array = array('', '', 'other', '', 'other');
Salin selepas log masuk

Objektif anda adalah untuk menentukan bilangan nilai kosong dalam tatasusunan.

Pendekatan Tidak Cekap

A pendekatan naif akan melibatkan lelaran melalui tatasusunan, menyemak setiap elemen terhadap nilai sasaran. Walau bagaimanapun, pendekatan ini menjadi tidak cekap untuk tatasusunan yang besar.

function without($array) {
    $counter = 0;
    for($i = 0, $e = count($array); $i < $e; $i++) {
        if(empty($array[$i])) {
            $counter += 1;
        }
    }
    return $counter;
}
Salin selepas log masuk

Pendekatan Cekap

Untuk mempercepatkan proses, pertimbangkan untuk menggunakan fungsi array_count_values ​​PHP. Ia menerima tatasusunan sebagai hujah dan mengembalikan tatasusunan dengan setiap nilai unik sebagai kunci dan kiraannya sebagai nilai yang sepadan.

$counts = array_count_values($array);
echo $counts['']; // Outputs the number of blank elements
Salin selepas log masuk

Menggunakan pendekatan ini, anda boleh mengira kejadian mana-mana nilai yang ditentukan dengan cekap dalam tatasusunan, walaupun untuk tatasusunan besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kejadian Nilai Khusus dalam Tatasusunan PHP dengan Cekap?. 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