Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie identische Werte aus einem Array in PHP

So entfernen Sie identische Werte aus einem Array in PHP

青灯夜游
青灯夜游Original
2022-09-28 18:21:053696Durchsuche

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;} ” .

So entfernen Sie identische Werte aus einem Array in PHP

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)

ParameterBeschreibungArraySortierartRückgabewert: Gibt das gefilterte Array zurück.​
Erforderlich. Gibt ein Array an.
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).
  • SORT_NUMERIC – Behandeln Sie jedes Element als Nummer.
  • SORT_LOCALE_STRING – Behandeln Sie jedes Element als Zeichenfolge, basierend auf dem aktuellen Gebietsschema (kann über setlocale() geändert werden).
Beispiel: Identische Werte entfernen

<?php
$arr1 =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr1);
$arr2=array_unique($arr1);
var_dump($arr2);
?>

So entfernen Sie identische Werte aus einem Array in PHPMethode 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: So entfernen Sie identische Werte aus einem Array in PHP

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);
?>

Empfohlenes Lernen: „

PHP-Video-TutorialSo entfernen Sie identische Werte aus einem Array in PHP

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!

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