Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob ein Array in PHP leer ist

So ermitteln Sie, ob ein Array in PHP leer ist

PHPz
PHPzOriginal
2023-04-20 13:54:33943Durchsuche

In PHP müssen Sie manchmal feststellen, ob ein Array leer ist. Normalerweise verwenden wir die Funktion empty() oder count(), um zu bestimmen, ob ein Array leer ist, aber wenn die Werte aller Elemente im Array NULL oder 0 sind, können diese Funktionen falsche Ergebnisse liefern. Daher wird in diesem Artikel erläutert, wie Sie genau bestimmen können, ob ein Array leer ist.

1. Einschränkungen der Funktion empty()

Die Funktion empty() ist eine häufig verwendete Funktion in PHP, um festzustellen, ob eine Variable leer ist. Es kann feststellen, ob eine Variable leer ist oder ihr Wert falsch ist, '', 0, '0', null, array() usw., es gibt true zurück, andernfalls gibt es false zurück. Daher schreiben wir bei der Beurteilung, ob ein Array leer ist, normalerweise so:

$arr = array();
if(empty($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

Dieser Weg scheint einfach, aber wenn die Werte aller Elemente im Array NULL oder 0 sind, wird die Funktion empty() zurückgegeben Stimmt, das ist offensichtlich nicht das Ergebnis, das wir wollen. Zum Beispiel:

$arr = array(null, 0, 0.0, false, '');
if(empty($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

Der obige Code gibt das Array als leer zurück, was nicht korrekt ist.

2. Probleme mit der Funktion count()

Eine weitere häufig verwendete Methode, um festzustellen, ob ein Array leer ist, ist die Verwendung der Funktion count(), die die Anzahl der Elemente in einem Array zurückgeben kann. Wenn ein Array keine Elemente enthält, gibt die Funktion count() 0 zurück, andernfalls gibt sie die Anzahl der Elemente im Array zurück. Daher sieht der Code zur Bestimmung, ob ein Array leer ist, normalerweise so aus:

$arr = array();
if(count($arr) == 0) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

Wenn jedoch die Werte aller Elemente in einem Array NULL oder 0 sind, gibt die Funktion count() auch 0 zurück, was wird zu Fehleinschätzungen führen. Zum Beispiel:

$arr = array(null, 0, 0.0, false, '');
if(count($arr) == 0) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

Der obige Code gibt das Array als leer zurück, was nicht das gewünschte Ergebnis ist.

3. Bestimmen Sie genau, ob ein Array leer ist.

Um das obige Problem zu lösen, müssen wir genau bestimmen, ob ein Array leer ist. Eine genaue Methode zur Bestimmung besteht darin, eine foreach-Schleife zu verwenden, um das Array zu durchlaufen und zu prüfen, ob der Wert jedes Elements im Array leer ist. Wenn ein nicht leeres Element überprüft wird, ist das Array nicht leer, andernfalls ist das Array leer. Hier ist das Codebeispiel:

function is_empty_array($arr) {
    foreach($arr as $value) {
        if(!empty($value)) {
            return false;
        }
    }
    return true;
}

$arr = array(null, 0, 0.0, false, '');
if(is_empty_array($arr)) {
    echo '数组为空';
} else {
    echo '数组不为空';
}

Der obige Code gibt „Array ist leer“ aus, was das richtige Ergebnis ist, das wir benötigen.

Das Obige ist die in diesem Artikel vorgestellte PHP-Methode, um festzustellen, ob ein Array nicht leer ist. Durch die Verwendung einer foreach-Schleife zum Durchlaufen des Arrays können die Einschränkungen der Funktionen empty() und count() umgangen und genau bestimmt werden, ob ein Array leer ist .

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein Array in PHP leer ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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