Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mendapatkan panjang tatasusunan yang tidak kosong dalam php

Bagaimana untuk mendapatkan panjang tatasusunan yang tidak kosong dalam php

PHPz
Lepaskan: 2023-04-26 09:27:53
asal
497 orang telah melayarinya

Dalam PHP, tatasusunan ialah struktur data yang sangat biasa digunakan Kami selalunya perlu menggunakan tatasusunan dalam banyak senario pengaturcaraan. Jadi apabila memproses tatasusunan, anda sering perlu mempertimbangkan sama ada tatasusunan itu kosong dan cara mendapatkan panjang tatasusunan.

PHP menyediakan banyak fungsi untuk memproses tatasusunan, seperti fungsi empty() untuk menentukan sama ada tatasusunan itu kosong, fungsi isset() untuk menentukan sama ada elemen tatasusunan wujud, fungsi count() untuk mendapatkan panjang tatasusunan, dsb. Artikel ini akan memberi tumpuan kepada cara mendapatkan panjang tatasusunan yang tidak kosong.

Apabila kita menggunakan fungsi count() untuk mendapatkan panjang tatasusunan, jika tatasusunan kosong, 0 akan dikembalikan. Tetapi dalam beberapa senario, anda perlu mendapatkan panjang tatasusunan yang tidak kosong, jadi apakah yang perlu anda lakukan?

Kaedah biasa ialah menggunakan gelung untuk melintasi tatasusunan dan mengira bilangan elemen yang tidak kosong. Pelaksanaan khusus adalah seperti berikut:

function countNotNull($arr){
    if(!is_array($arr)) return 0;
    $count = 0;
    foreach($arr as $item){
        if(!empty($item)){
            $count++;
        }
    }
    return $count;
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull($arr); // output: 3
Salin selepas log masuk

Kod di atas terlebih dahulu menentukan sama ada tatasusunan kosong dan sama ada ia adalah jenis tatasusunan untuk mengelakkan ralat yang disebabkan oleh menghantar parameter haram. Kemudian dengan merentasi setiap elemen, kira bilangan elemen yang tidak kosong. Akhirnya kembalikan nilai ini.

Walaupun kaedah ini agak mudah, ia kurang cekap apabila terdapat banyak elemen tatasusunan. Di samping itu, apabila fungsi ini digunakan beberapa kali, ia mungkin menyebabkan beberapa pertindihan kerja.

Penyelesaian yang lebih cekap ialah menggunakan fungsi array_filter() untuk menapis elemen kosong, dan kemudian gunakan fungsi count() untuk mendapatkan panjang tatasusunan. Pelaksanaan khusus adalah seperti berikut:

function countNotNull2($arr){
    if(!is_array($arr)) return 0;
    $newArr = array_filter($arr);
    return count($newArr);
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull2($arr); // output: 3
Salin selepas log masuk

Kod di atas terlebih dahulu menilai kesahihan parameter, kemudian menggunakan fungsi array_filter() untuk menapis elemen kosong dan mengembalikan tatasusunan baharu. Kemudian gunakan fungsi count() untuk mendapatkan panjang tatasusunan baharu, iaitu panjang tatasusunan yang tidak kosong.

Perlu diambil perhatian bahawa menggunakan fungsi array_filter() menapis elemen kosong (seperti 0, "", null, false, dll.) dan bukannya hanya menapis rentetan kosong.

Ringkasnya, dalam PHP, terdapat banyak cara untuk mendapatkan panjang tatasusunan yang tidak kosong. Pembaca boleh memilih kaedah yang sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan panjang tatasusunan yang tidak kosong dalam php. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan