Heim > Backend-Entwicklung > PHP-Problem > So erhalten Sie die Länge eines Arrays, das in PHP nicht leer ist

So erhalten Sie die Länge eines Arrays, das in PHP nicht leer ist

PHPz
Freigeben: 2023-04-26 09:27:53
Original
478 Leute haben es durchsucht

In PHP ist Array eine sehr häufig verwendete Datenstruktur. In vielen Programmierszenarien müssen wir häufig Arrays verwenden. Wenn Sie ein Array verarbeiten, müssen Sie daher häufig überlegen, ob das Array leer ist und wie Sie die Länge des Arrays ermitteln.

PHP bietet viele Funktionen zum Verarbeiten von Arrays, z. B. die Funktion empty(), um zu bestimmen, ob das Array leer ist, die Funktion isset(), um zu bestimmen, ob das Array-Element vorhanden ist, und die Funktion count(), um die Länge des Arrays zu ermitteln , usw. Dieser Artikel konzentriert sich darauf, wie man die Länge eines Arrays ermittelt, das nicht leer ist.

Wenn wir die Funktion count() verwenden, um die Array-Länge zu ermitteln, wird 0 zurückgegeben, wenn das Array leer ist. In einigen Szenarien müssen Sie jedoch die Länge des Arrays ermitteln, das nicht leer ist. Was sollten Sie also tun?

Eine übliche Methode besteht darin, eine Schleife zu verwenden, um das Array zu durchlaufen und die Anzahl der Elemente zu zählen, die nicht leer sind. Die spezifische Implementierung lautet wie folgt:

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
Nach dem Login kopieren

Der obige Code ermittelt zunächst, ob das Array leer ist und ob es sich um einen Array-Typ handelt, um Fehler durch die Übergabe illegaler Parameter zu verhindern. Zählen Sie dann durch Durchlaufen jedes Elements die Anzahl der Elemente, die nicht leer sind. Geben Sie schließlich diesen Wert zurück.

Obwohl diese Methode relativ einfach ist, ist sie weniger effizient, wenn viele Array-Elemente vorhanden sind. Darüber hinaus kann es bei mehrfacher Verwendung dieser Funktion zu Doppelarbeit kommen.

Eine effizientere Lösung besteht darin, die Funktion array_filter() zu verwenden, um leere Elemente herauszufiltern, und dann die Funktion count() zu verwenden, um die Länge des Arrays zu ermitteln. Die spezifische Implementierung ist wie folgt:

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
Nach dem Login kopieren

Der obige Code beurteilt zunächst die Rechtmäßigkeit der Parameter, verwendet dann die Funktion array_filter(), um leere Elemente herauszufiltern und gibt ein neues Array zurück. Verwenden Sie dann die Funktion count(), um die Länge des neuen Arrays zu ermitteln, also die Länge des Arrays, das nicht leer ist.

Es ist zu beachten, dass die Verwendung der Funktion array_filter() leere Elemente (wie 0, „“, null, false usw.) herausfiltert, anstatt nur leere Zeichenfolgen herauszufiltern.

Kurz gesagt, in PHP gibt es viele Möglichkeiten, die Länge eines Arrays zu ermitteln, das nicht leer ist. Die oben genannten sind nur die häufigsten. Der Leser kann je nach tatsächlichem Bedarf die geeignete Methode auswählen.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die Länge eines Arrays, das in PHP nicht leer ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage