Heim > Artikel > Backend-Entwicklung > So ermitteln Sie, ob ein mehrdimensionales Array in PHP leer ist
In PHP ist Array einer der am häufigsten verwendeten Datentypen. In der Entwicklung müssen wir häufig feststellen, ob ein Array leer ist. Es ist sehr einfach festzustellen, ob ein eindimensionales Array leer ist. Wir können die Funktion empty() oder count() verwenden, um festzustellen. Bei mehrdimensionalen Arrays ist die Situation jedoch komplizierter. In diesem Artikel erfahren Sie, wie Sie feststellen können, ob ein mehrdimensionales Array leer ist.
1. Definition eines mehrdimensionalen Arrays
In PHP ist ein mehrdimensionales Array ein Array, das ein oder mehrere Arrays enthält. Beispiel:
$arr = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) );
2. Methoden zur Bestimmung, ob ein eindimensionales Array leer ist
1. Verwenden Sie die Funktion empty(), um zu bestimmen, ob eine Variable leer ist, wenn der Variablenwert „0“ ist , array(), '0' usw. verwendet werden, gibt die Funktion empty() true zurück. Verwenden Sie daher für ein eindimensionales Array einfach die Funktion empty(), um festzustellen, ob es leer ist.
$arr = array('a', 'b', 'c'); if(empty($arr)){ echo '数组为空'; }else{ echo '数组不为空'; }Das Ausgabeergebnis ist „Array ist nicht leer“. 2. Verwenden Sie die Funktion count(), um die Anzahl der Array-Elemente zurückzugeben. Daher können wir die Funktion count() verwenden, um festzustellen, ob ein eindimensionales Array leer ist. Zum Beispiel:
$arr = array('a', 'b', 'c'); if(count($arr)==0){ echo '数组为空'; }else{ echo '数组不为空'; }
3. Methode zur Beurteilung, ob ein mehrdimensionales Array leer ist. Die obige Methode ist nicht auf mehrdimensionale Arrays anwendbar. Wenn Sie beurteilen möchten, ob ein mehrdimensionales Array leer ist, können Sie zur Beurteilung die rekursive Methode verwenden.
1. Verwenden Sie die Rekursion, um festzustellen, ob ein mehrdimensionales Array leer ist.
Rekursion ist eine Methode, sich selbst innerhalb einer Funktion aufzurufen, die mehrschichtige verschachtelte Datenstrukturen durchlaufen und betreiben kann. In PHP können wir mithilfe der Rekursion ein mehrdimensionales Array durchlaufen, um festzustellen, ob es leer ist.
Zum Beispiel:
function is_empty_array($arr){ if(!is_array($arr)){//如果不是数组,直接返回false return false; } foreach($arr as $val){ if(is_array($val)){//如果该元素是数组,则递归遍历,直到找到非数组元素 if(!is_empty_array($val)){ return false; } }else{//如果该元素不是数组,则判断其是否为空 if(!empty($val)){ return false; } } } return true; }Die obige Funktion wird verwendet, um zu bestimmen, ob ein mehrdimensionales Array leer ist. Wenn es leer ist, gibt es true zurück, andernfalls gibt es false zurück. Die foreach-Schleife wird in der Funktion zum Durchlaufen der Array-Elemente verwendet. Wenn das Element ein Array ist, wird die Funktion is_empty_array() rekursiv aufgerufen, um das Durchlaufen des Elements fortzusetzen. Zum Beispiel:
$arr = array( array(1, 2, 3), array(), array(array()), array(''), '', array(array()) ); if(is_empty_array($arr)){ echo '数组为空'; }else{ echo '数组不为空'; }Das Ausgabeergebnis ist „Array ist leer“. Im obigen Beispiel enthält $arr mehrere Arrays, einige Arrays sind leer, einige Arrays enthalten leere Elemente und einige Arrays sind verschachtelte Arrays. Verwenden Sie die Funktion is_empty_array(), um leicht festzustellen, ob das Array leer ist. 2. Verwenden Sie die Funktion array_filter(), um festzustellen, ob das mehrdimensionale Array leer ist.
Darüber hinaus können wir auch die Funktion array_filter() verwenden, um festzustellen, ob das mehrdimensionale Array leer ist. Mit der Funktion array_filter() können leere Elemente aus einem Array entfernt und ein neues Array zurückgegeben werden. Wenn das zurückgegebene Array leer ist, ist das ursprüngliche Array leer.
Zum Beispiel:
$arr = array( array(1, 2, 3), array(), array(array()), array(''), '', array(array()) ); $new_arr = array_filter($arr); if(empty($new_arr)){ echo '数组为空'; }else{ echo '数组不为空'; }Das Ausgabeergebnis ist „Array ist leer“. Im obigen Beispiel verwenden Sie die Funktion array_filter(), um leere Elemente im Array herauszufiltern und ein neues Array $new_arr zu erhalten. Wenn $new_arr leer ist, ist das ursprüngliche Array leer. 4. Hinweise
1. Achten Sie beim rekursiven Durchlaufen mehrdimensionaler Arrays darauf, zu bestimmen, ob jedes Array-Element ein Array ist.
2. Wenn Sie die Funktion array_filter() zum Filtern eines Arrays verwenden, achten Sie auf den Typ des Rückgabewerts. Wenn Sie den Schlüsselwert des ursprünglichen Arrays zurückgeben möchten, können Sie andernfalls array_filter($arr) verwenden Verwenden Sie array_values(array_filter($arr)).
Zusammenfassung
Um festzustellen, ob ein mehrdimensionales Array leer ist, müssen Sie eine Rekursion oder die Funktion array_filter() verwenden. Die rekursive Methode ist flexibler und der Rückgabewert kann angepasst werden, während die Verwendung der Funktion array_filter() einfacher ist und bequemer, aber Sie müssen auf die Art des Rückgabewerts achten. In der tatsächlichen Entwicklung können Sie entsprechend Ihren Anforderungen eine geeignete Methode auswählen.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein mehrdimensionales Array in PHP leer ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!