Heim > Artikel > Backend-Entwicklung > So löschen Sie leere Elemente in einem Array in PHP
In der PHP-Entwicklung werden Arrays häufig zum Speichern und Verwalten von Daten verwendet. Manchmal enthält das Array jedoch einige leere Elemente, was Speicher verschwendet und die Wartung und das Verständnis des Codes erschwert. Daher ist es eine erlernbare Fähigkeit, zu wissen, wie man leere Elemente aus einem Array entfernt.
In PHP gibt es mehrere Möglichkeiten, leere Elemente aus einem Array zu entfernen. Zwei dieser Methoden werden im Folgenden vorgestellt.
Methode 1: Verwenden Sie die Funktion array_filter()
Die Funktion array_filter() ist eine in PHP integrierte Funktion, die zum Verarbeiten von Arrays verwendet wird. Es kann Elemente in einem Array basierend auf angegebenen Bedingungen filtern und ein neues gefiltertes Array zurückgeben.
Basierend auf dieser Funktion können wir die Funktion array_filter() verwenden, um leere Elemente im Array zu löschen.
Das Folgende ist der Beispielcode:
<?php // 原始数组 $arr = array('hello', '', 'world', '', '', 'PHP'); print_r($arr); // 过滤空元素 $arr = array_filter($arr); print_r($arr); ?>
Ausgabeergebnis:
Array ( [0] => hello [1] => [2] => world [3] => [4] => [5] => PHP ) Array ( [0] => hello [2] => world [5] => PHP )
Sie können sehen, dass bei Verwendung der Funktion array_filter() zum Abrufen eines neuen Arrays keine leeren Elemente im neuen Array vorhanden sind.
Methode 2: Verwenden Sie die Funktion unset()
Eine andere Methode ist die Verwendung der in PHP integrierten Funktion unset(). Die Funktion unset() dient zum Löschen einer Variablen und kann das angegebene Element im Array löschen. Wir können die foreach-Schleifenanweisung verwenden, um das Array zu durchlaufen und festzustellen, ob jedes Element leer ist. Wenn es leer ist, verwenden Sie die Funktion unset(), um es zu löschen.
Das Folgende ist der Beispielcode:
<?php // 原始数组 $arr = array('hello', '', 'world', '', '', 'PHP'); print_r($arr); // 删除空元素 foreach ($arr as $key => $value) { if ($value === '') { unset($arr[$key]); } } print_r($arr); ?>
Ausgabeergebnis:
Array ( [0] => hello [1] => [2] => world [3] => [4] => [5] => PHP ) Array ( [0] => hello [2] => world [5] => PHP )
Wie Sie sehen können, erhalten wir mit der foreach-Schleifenanweisung und der Funktion unset() auch ein neues Array ohne leere Elemente.
Vergleich der beiden Methoden
Die Methode mit der Funktion array_filter() ist prägnanter und klarer als die Methode mit der foreach-Schleifenanweisung und der Funktion unset(). Die Funktion array_filter() verfügt über eine eigene Filterfunktion, die das Problem mit einer Codezeile lösen kann. Die foreach-Schleifenanweisung muss eine if-Anweisung verwenden, um festzustellen, ob jedes Element leer ist, bevor es gelöscht wird. Der Code sieht nicht so prägnant aus.
Andererseits kann die Verwendung der unset()-Funktion beim Umgang mit großen Arrays effizienter sein. Denn bei Verwendung der Funktion array_filter() muss ein neues Array zurückgegeben werden, was zusätzlichen Speicher und Zeit verbraucht.
Zusammenfassung
Das Löschen leerer Elemente in Arrays ist eine häufige Anforderung in der PHP-Entwicklung. Wenn Sie wissen, wie Sie leere Elemente entfernen, können Sie die Qualität und Effizienz des Codes verbessern. Sowohl die Funktion array_filter() als auch die Funktion unset() können diese Funktion implementieren. Wählen Sie einfach die entsprechende Methode entsprechend Ihren Anforderungen.
Das obige ist der detaillierte Inhalt vonSo löschen Sie leere Elemente in einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!