Heim >Backend-Entwicklung >PHP-Problem >Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

青灯夜游
青灯夜游Original
2021-08-26 15:16:493329Durchsuche

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, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,2021,"mysql"); 
var_dump($array);       
 
// 使用array_filter()函数从数组中移除空元素
$filtered_array = array_filter($array); 
echo "删除空元素后的数组";
var_dump($filtered_array); 
?>

Ausgabeergebnis:

Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

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, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,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. Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

Was sollten Sie also tun, wenn Sie den Index zurücksetzen und von 0 an neu anordnen möchten? Wir können die Funktion array_values() verwenden.

var_dump(array_values($filtered_array));

Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

array_values()函数。

<?php 
header("content-type:text/html;charset=utf-8");
$array = array("php", 11, &#39;&#39;, 11, "PHP中文网",&#39;&#39;,"green",2021,"mysql","","green"); 
var_dump($array);       
 
$result = array_unique($array);
echo "删除重复元素后的数组";
//var_dump(array_values($filtered_array)); 
var_dump($result);
?>

Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

是不是很简单!

上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素

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

. Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernen

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 Funktion array_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));
Erfahren Sie, wie Sie leere oder doppelte Elemente aus PHP-Arrays entfernenAusgabeergebnis:

Die Funktion array_unique() setzt den Schlüsselnamen (Index) nicht zurück und das beibehaltene Array behält den Schlüsselnamentyp des ersten Array-Elements bei. Nachdem Sie die Funktion array_unique() zum Entfernen doppelter Elemente verwendet haben, können Sie daher die Funktion array_values() verwenden, um den Index zurückzusetzen.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn