Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob ein Array in PHP leer ist
Durch die weit verbreitete Verwendung von PHP stoßen wir manchmal auf Situationen, in denen wir feststellen müssen, ob ein Array leer ist. Aber wie beurteilt man ein leeres Array richtig?
Die intuitivste Möglichkeit besteht darin, die Funktion count() zu verwenden, um die Anzahl der Array-Elemente zu zählen. Wenn die Zahl 0 ist, ist das Array leer. Zum Beispiel:
$arr = []; if (count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Der Vorteil dieser Methode besteht darin, dass sie für alle Arten von Arrays geeignet und sehr einfach und leicht zu verstehen ist. Allerdings hat es auch einige Nachteile. Erstens beansprucht es bestimmte Systemressourcen und ist nicht für Variablen vom Typ Nicht-Array geeignet. Zweitens kann es nicht unterscheiden, ob das Array-Element eine leere Zeichenfolge, ein leeres Array, 0 oder falsch usw. ist, was zu unerwarteten Problemen führen kann.
Gibt es also eine bessere Möglichkeit, festzustellen, ob das Array leer ist? Die Antwort ist ja. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt.
PHP stellt die Funktion empty() zur Verfügung, mit der Sie direkt bestimmen können, ob eine Variable leer ist, ohne Systemressourcen zu belegen. Wenn das Array bei Arrays keine Elemente enthält, wird direkt „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. Zum Beispiel:
$arr = []; if (empty($arr)) { echo '数组为空'; } else { echo '数组不为空'; }
Es ist zu beachten, dass die Funktion empty() nur für Variablen gilt, daher muss das Array zuerst einer Variablen zugewiesen und dann beurteilt werden. Darüber hinaus kann die Funktion empty() bei Arrays nicht zwischen leeren Zeichenfolgen, 0 oder false usw. unterscheiden, die mit leeren Arrays identisch sind, und muss daher mit Vorsicht verwendet werden.
Funktion is_array() kann bestimmen, ob eine Variable vom Array-Typ ist. Es unterscheidet gut zwischen Arrays und anderen Arten von Variablen, ohne Systemressourcen zu binden. Gibt true zurück, wenn die Variable vom Array-Typ ist, andernfalls false. Zum Beispiel:
$arr = []; if (is_array($arr) && count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Es ist zu beachten, dass Sie den Operator && in Verbindung mit der Funktion count() verwenden müssen, um sicherzustellen, dass das Array leer ist. Andernfalls, wenn die Variable nicht vom Array-Typ ist, meldet die Funktion count() einen Fehler.
Zusammenfassend lässt sich sagen, dass die Beurteilung, ob das Array leer ist, nicht allzu kompliziert ist, sondern je nach tatsächlicher Situation selektiv verwendet werden muss. Wenn der Array-Typ bestimmt werden kann und nicht als leere Zeichenfolge, 0 oder falsch usw. unterschieden werden muss, können Sie die Funktion is_array() verwenden. Andernfalls wird empfohlen, die Funktion empty() zur Beurteilung zu verwenden.
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!