Heim > Artikel > Backend-Entwicklung > So entfernen Sie identische Werte aus einem Array in PHP
Drei Methoden: 1. Verwenden Sie array_unique, die Syntax „array_unique(array)“; 2. Verwenden Sie array_flip(), die Syntax „array_flip(array_flip(array))“; 3. Verwenden Sie foreach und zwei leere Arrays, die Syntax „ foreach ($arr as $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 as $k2=>$v2){$r2[$v2]=$k2;} ” .
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Durch das Entfernen derselben Werte im Array werden doppelte Werte im Array entfernt. Es gibt viele Möglichkeiten, Duplikate aus PHP-Arrays zu entfernen. Wir stellen sie Ihnen im Folgenden vor.
Methode 1: Verwenden Sie die Deduplizierungsfunktion array_unique(). 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.
array_unique(array,sortingtype)Parameter
Array | |
---|---|
Erforderlich. Gibt ein Array an. | Sortierart |
optional. Gibt den Sortiertyp an. Mögliche Werte: SORT_STRING – Standard. Behandeln Sie jedes Element als Zeichenfolge. | SORT_REGULAR – Sortiert jedes Element in regulärer Reihenfolge (Standard-ASCII, ändert den Typ nicht).
| Rückgabewert: Gibt das gefilterte Array zurück.
<?php $arr1 =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr1); $arr2=array_unique($arr1); var_dump($arr2); ?>
Methode 2: Funktion array_flip() verwenden
Die Funktion array_flip() wird verwendet, um die Schlüsselnamen im Array umzukehren/auszutauschen entsprechende zugehörige Schlüsselwerte. Der Schlüsselname des Arrays ist eindeutig und wird nicht wiederholt vorkommen.
Wenn mit dieser Funktion zwei Werte im Array gleich sind, werden der letzte Schlüssel und der letzte Wert nach dem Umkehren des Arrays beibehalten, wodurch indirekt eine Deduplizierung des Arrays erreicht werden kann.
<?php $arr =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr); $arr1 = array_flip($arr);//先反转一次,去掉重复值 var_dump($arr1); $arr2 = array_flip($arr1);//再反转回来,得到去重后的数组 var_dump($arr2); ?>
Der Unterschied zwischen Methode 1 und Methode 2:
Verwenden Sie array_flip(), um den letzten Schlüssel und Wert des wiederholten Elements abzurufen, und verwenden Sie array_unique, um den ersten Schlüssel und Wert des wiederholten Elements abzurufen.
Methode 3: Verwenden Sie die foreach-Anweisung und zwei leere Arrays
Oder verwenden Sie die eindeutige Funktion von Schlüsselnamen, verwenden Sie die foreach-Anweisung und zwei leere Arrays, um die Positionen der Schlüsselnamen und Schlüsselwerte von umzukehren das Array zweimal. <?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);
?>
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo entfernen Sie identische Werte aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!