Heim > Artikel > Backend-Entwicklung > Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen
In unserem vorherigen Artikel haben wir die Methode zum Aufteilen eines eindimensionalen Arrays in ein zweidimensionales Array mit einer bestimmten Anzahl von Elementen kennengelernt. Wenn Sie interessiert sind, können Sie auf den Link klicken, um → „PHP Array Learning“ zu lesen : Eindimensionales Array. Wird zu einem zweidimensionalen Array, das die angegebenen mehreren Elemente enthält》. Dieses Mal werden wir PHP-Arrays studieren und üben und darüber sprechen, wie man Leerstellen und Duplikate in Arrays entfernt.
→Verwandte Empfehlungen: 《Zusammenfassung der PHP-Array-Lernreihe (kontinuierlich aktualisiert~)》
Der Hauptinhalt des heutigen Artikels besteht darin, leere Elemente zu löschen und Elemente in Arrays zu duplizieren.
Lass uns zunächst einen Blick darauf werfenWie lösche ich leere Elemente in einem Array? Hier werde ich zwei Methoden vorstellen.
Methode 1, foreach-Schleife + empty() + unset()
Implementierungsidee:
Verwenden Sie die foreach-Anweisung, um das Array $array zu durchlaufen, und weisen Sie $key in jeder Schleife den Schlüsselnamen zu. Der Wert wird $value zugewiesen
foreach($array as $key => $value){ }
Verwenden Sie in der Schleife die Funktion empty(), um festzustellen, ob $value leer ist, verwenden Sie unset(), um das Element zu löschen
Nachfolgend geben wir den vollständigen Implementierungscode an:
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
Ausgabeergebnis:
Beschreibung: In PHP wird die Funktion empty() verwendet, um zu prüfen, ob eine Variable als leer gilt.
empty() betrachtet es als leer, wenn die Variable dem folgenden Wert entspricht:
"" (leerer String)
0 (0 als Ganzzahl)
0.0 (als float 0 für Punkte)
"0" (0 als String)
NULL
FALSE
Array() (ein leeres Array)
$var (eine Anweisung, aber es gibt keine Wertvariable)
Methode 2. Verwenden Sie die Funktion array_filter() zum Filtern. Die Funktion array_filter() kann die Rückruffunktion verwenden, um Elemente im Array zu filtern. Diese Funktion durchläuft jeden Wert im Array und übergibt ihn an eine benutzerdefinierte Funktion oder Rückruffunktion. Wenn die Rückruffunktion weggelassen wird, werden standardmäßig Nullwerte gefiltert.
(die Funktion array_filter() ändert das ursprüngliche Array nicht)<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>Ausgabeergebnis:
Es ist ersichtlich, dass array_filter() den Index beim Filtern von Array-Elementen nicht zurücksetzt. Nach dem Löschen leerer Elemente wird weiterhin die ursprüngliche Indexreihenfolge eingehalten.
Was sollten Sie also tun, wenn Sie den Index zurücksetzen und von 0 an neu anordnen möchten? Wir können die Funktionarray_values()
verwenden. var_dump(array_values($filtered_array));
array_values()
函数。
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
是不是很简单!
上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素。
PHP数组删除重复数组不用借助其他方法,PHP直接就内置了一个函数来实现这个操作,大家知道是什么函数吗?
好了,不买关子了,就是array_unique()
Ist es nicht ganz einfach!
Oben haben wir gelernt, wie man leere Elemente entfernt. Jetzt sehen wir uns an,
wie man doppelte Array-Elemente entfernt.
Es ist nicht erforderlich, auf andere Methoden zurückzugreifen, um doppelte Arrays in PHP-Arrays zu löschen. Wissen Sie, was die Funktion ist? Okay, keine Aufregung mehr, es ist die Funktionarray_unique()
. Wenn es zwei oder mehr Werte im Array gibt, die gleich sind, behält die Funktion array_unique() nur den ersten Wert bei und die anderen Werte werden entfernt. var_dump(array_values($result));Ausgabeergebnis:
array_flip(array_flip($array))
Tatsächlich können wir auch die Funktion verwenden, dass es im Array keine doppelten Schlüsselnamen gibt, um doppelte Array-Elemente zu entfernen.
Implementierungsidee: Tauschen Sie zuerst den Schlüsselnamen und den Schlüsselwert aus, um doppelte Werte zu entfernen, und tauschen Sie dann den Schlüsselnamen und den Schlüsselwert wieder aus (empfohlene Lektüre „PHP-Array-Lernen: So ändern Sie die Position von Schlüsselname und -wert“ Austausch 》; ). Schlüsselcode:
rrreee🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!