Heim > Artikel > Backend-Entwicklung > So löschen Sie doppelte Elemente aus einem Array in PHP
Methode 1: Verwenden Sie die Funktion array_unique(), um das Array zu deduplizieren. Die Syntax lautet „array_unique($arr)“. 2. Nutzen Sie die nicht wiederholbare Funktion von PHP-Array-Schlüsselnamen und verwenden Sie dazu die Funktion array_flip() Kehren Sie die Summe der Schlüsselnamen des Arrays zweimal um. Die Syntax lautet „array_flip(array_flip($arr))“ 3. Unter Ausnutzung der nicht wiederholbaren Funktion des PHP-Array-Schlüsselnamens, Verwenden Sie die foreach-Anweisung, um den Schlüsselnamen und die Schlüsselwertposition des Arrays zweimal umzukehren.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP 8-Version, DELL G3-Computer
php bietet mehrere Methoden zum Löschen doppelter Elemente aus einem Array. Finden wir es weiter unten heraus.
Methode 1: Verwenden Sie die Funktion array_unique(), um das Array zu deduplizieren.
Die Funktion array_unique() wird verwendet, um doppelte Werte im Array zu entfernen. Wenn zwei oder mehr Array-Werte gleich sind, bleibt nur der erste Wert erhalten und die anderen Werte werden entfernt.
Hinweis: Das beibehaltene Array behält den Schlüsseltyp des ersten Array-Elements bei.
<?php header("content-type:text/html;charset=utf-8"); $array = array(1,2,3,3,4,2,3,5,6,4,5,7,8,9,10); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
Methode 2: Verwenden Sie die Funktion array_flip().
Die Funktion array_flip() wird verwendet, um die Schlüsselnamen im Array und die entsprechenden zugehörigen Schlüsselwerte umzukehren/austauschen.
Es verfügt über eine Funktion, die besagt, dass der letzte Schlüssel und Wert nach der Invertierung beibehalten wird, wenn zwei Werte im Array gleich sind. Mit dieser Funktion erreichen wir indirekt eine Deduplizierung des Arrays.
<?php header("content-type:text/html;charset=utf-8"); $a = array(1, 5, 2, 5, 1, 3, 2, 4, 5); // 输出原始数组 echo "原始数组 :"; var_dump($a); // 通过使用翻转键和值移除重复值 $a = array_flip($a); // 通过再次翻转键和值来恢复数组元素 $a = array_flip($a); // 重新排序数组键 $a = array_values($a); // 输出更新后的数组 echo "更新数组 :"; var_dump($a); ?>
Methode 3: Verwenden Sie die foreach-Anweisung, um die Schlüsselnamen und Schlüsselwertpositionen des Arrays zweimal umzukehren
Schritt 1: Definieren Sie 2 leere Arrays zum Speichern der Schlüsselnamen und Schlüsselwerte zweimal umgekehrt Schlüsselwert
$res1=[]; $res2=[];
Schritt 2: Verwenden Sie die foreach-Anweisung, um das ursprüngliche Array zu durchlaufen, weisen Sie den ursprünglichen Array-Schlüsselnamen und den Schlüsselwert einem leeren Array als Schlüsselwert und Schlüsselnamen zu
foreach ($array as $k1 => $v1){ //在每次循环中会将当前数组的值赋给 $v1,键名赋给 $k1 $res1[$v1]=$k1; }
Sie erhalten eine Array mit umgekehrtem Schlüsselnamen und Schlüsselwert
Schritt 3: Verwenden Sie die foreach-Anweisung, um das umgekehrte Array zu durchlaufen, und weisen Sie den Schlüsselnamen und den Schlüsselwert des umgekehrten Arrays einem anderen leeren Array als Schlüsselwert und Schlüsselname zu
foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; }
Implementieren Sie den Code
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); $res1=[]; $res2=[]; foreach($arr as $k1=>$v1){ $res1[$v1]=$k1; } foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; } echo "去重后的数组:"; var_dump($res2); } $arr=array(1,2,3,4,5,4,3,2,1,0); f($arr); ?>
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo löschen Sie doppelte Elemente aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!