In der PHP-Entwicklung ist es oft notwendig, Arrays zu verarbeiten. Eine der häufigsten Fragen ist, wie man nicht leere Elemente aus einem Array entfernt. In diesem Artikel werden wir untersuchen, wie diese Aufgabe mit PHP gelöst werden kann.
Werfen wir zunächst einen Blick auf die gängigen Array-Typen in PHP. PHP unterstützt zwei Arten von Arrays: indizierte Arrays und assoziative Arrays. Indizierte Arrays sind Arrays, die auf numerischen Indizes basieren, während assoziative Arrays Arrays sind, die auf Zeichenfolgenschlüsseln basieren. Hier ist ein Beispielarray:
$arr = array("apple", "", "banana", "orange", null, "peach");
Im obigen Array haben wir mehrere nicht leere und leere Elemente. Unsere Aufgabe besteht darin, diese nicht leeren Elemente zu entfernen, um ein vollständig leeres Array zu erhalten.
Methode 1: Foreach-Schleife und Unset-Funktion verwenden
Wir können die Foreach-Schleife verwenden, um das gesamte Array zu durchlaufen, und die Unset-Funktion verwenden, um nicht leere Elemente zu löschen. So geht's:
foreach ($arr as $key => $value) { if ($value !== "" && $value !== null) { unset($arr[$key]); } }
Im obigen Code verwenden wir eine foreach-Schleife, um das gesamte Array zu durchlaufen. Wenn der Wert des Elements keine leere Zeichenfolge oder Null ist, löschen Sie es mit der unset-Funktion.
Methode 2: Verwenden Sie die Funktion array_filter.
Eine andere Methode ist die Verwendung der in PHP integrierten Funktion array_filter. Diese Funktion akzeptiert ein Array und gibt ein neues Array zurück, das nur die Elemente enthält, für die der Rückruf „true“ zurückgibt. Wir können eine Rückruffunktion definieren, die überprüft, ob das Element leer oder null ist. So wird es implementiert:
function emptyFilter($value) { return $value !== "" && $value !== null; } $arr = array_filter($arr, "emptyFilter");
Im obigen Code definieren wir eine Rückruffunktion namens emptyFilter. Diese Funktion akzeptiert einen Wert und gibt true oder false zurück. Wenn der Wert eine leere Zeichenfolge oder null ist, gibt die Funktion „false“ zurück. Als nächstes verwenden wir die Funktion array_filter, um das Array zu filtern und nur die Elemente beizubehalten, bei denen die Rückruffunktion „true“ zurückgibt.
Zusammenfassung
Wir haben zwei gängige Methoden zum Entfernen nicht leerer Elemente aus einem Array eingeführt. Die Verwendung einer foreach-Schleife und der Funktion „unset“ ist bei der Arbeit mit großen Arrays möglicherweise nicht effizient, da Schleifen- und Löschvorgänge die Leistung beeinträchtigen können. Andererseits ist die Verwendung der Funktion array_filter skalierbarer und flexibler, und die Filterkriterien können durch die Übergabe verschiedener Rückruffunktionen angepasst werden. Wir hoffen, dass dieser Artikel Ihnen dabei hilft, den Umgang mit Arrays während der PHP-Entwicklung zu verbessern.
Das obige ist der detaillierte Inhalt vonPHP entfernt nicht leere Elemente aus dem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!