Heim > Artikel > Backend-Entwicklung > So entfernen Sie Null aus einem PHP-Array
So entfernen Sie Nullwerte aus PHP-Arrays: 1. Verwenden Sie die Methode „foreach($arr as $k=>$v){...}“, um Nullwerte aus dem Array zu entfernen. 2. Verwenden Sie while Syntaxstruktur zum Entfernen von Nullwerten. 3. Verwenden Sie die Funktion array_filter, um das Array zu filtern und Nullwerte zu entfernen.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 8.1, DELL G3-Computer
Wie entferne ich Null aus einem Array in PHP?
Einführung in die Methode zum Löschen von Nullwerten in einem Array in PHP
Es ist peinlich zu sagen, dass in der Vergangenheit beim Entfernen von Nullwerten aus einem Array foreach oder while erzwungen wurden Diese beiden Syntaxstrukturen wurden verwendet, um leere Elemente im Array zu löschen:
Der Code lautet wie folgt:
rreeeUnd ich fühle mich ziemlich gut, aber es ist nicht sehr effizient Ich habe es bereits versucht, zuerst $arr in ein Objekt umwandeln und dann die Eigenschaften des Objekts verwenden, um es zu löschen, denn: foreach Es kopiert das aktuell betriebene Array. Jedes Mal, wenn ein foreach betrieben wird, wird eine Variable kopiert Zu viele Foreachs auf der Seite, das wäre eine große Verschwendung.
Als ich im Internet herumstöberte, war ich überrascht, jemanden zu sehen, der die Verwendung von array_filter vorschlug. Ich schlug das Handbuch auf, warf einen Blick darauf und stellte fest, dass ich einen Schatzberg bewacht hatte, aber nicht wusste, wie man ihn benutzt.
Die Funktion der Funktion array_filter besteht darin, die Rückruffunktion zum Filtern des Arrays zu verwenden. Ich habe immer gedacht, dass die Rückruffunktion zum Verarbeiten verwendet werden kann, aber ich habe keinen weiteren Satz im Handbuch gefunden Da es sich nicht um eine Rückruffunktion handelt, werden standardmäßig die Elemente mit dem Wert „false“ im Array gelöscht.
Der Code lautet wie folgt:
<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?>
Der Ausgabewert lautet:
Der Code lautet wie folgt:
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
Es scheint, dass ich in Zukunft noch weitere Handbücher lesen muss ... genau wie bei array_slice auch eine gute Sache. Schade, dass mir das noch nie aufgefallen ist.
Anhang: Ein weiteres Beispiel
Der Code lautet wie folgt:
Array ( [0] => foo [2] => -1 )
Die im Array $rsArray gespeicherten Werte sind: A B C D
Die Funktion array_values() gibt ein Array zurück, das alle Schlüsselwerte im angegebenen enthält Array, behält aber nicht die Schlüsselnamen bei. Die Funktion
array_diff() gibt das Differenzarray zweier Arrays zurück. Dieses Array enthält alle Schlüssel, die sich im verglichenen Array befinden, jedoch in keinem der anderen Argumentarrays. Die Funktion
array_unique() entfernt doppelte Werte aus einem Array und gibt das resultierende Array zurück. Wenn die Werte mehrerer Array-Elemente gleich sind, bleibt nur das erste Element erhalten und die anderen Elemente werden gelöscht.
Die Schlüsselnamen im zurückgegebenen Array bleiben unverändert. Die Funktion
array_merge() führt zwei oder mehr Arrays zu einem Array zusammen.
Wenn es doppelte Schlüsselnamen gibt, ist der Schlüsselwert des Schlüssels der Wert, der dem letzten Schlüsselnamen entspricht (der spätere überschreibt den vorherigen). Wenn das Array numerisch indiziert ist, werden die Schlüsselnamen fortlaufend neu indiziert.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo entfernen Sie Null aus einem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!