Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie doppelte Elemente aus einem Array in PHP

So löschen Sie doppelte Elemente aus einem Array in PHP

青灯夜游
青灯夜游Original
2023-01-12 15:26:571870Durchsuche

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.

So löschen Sie doppelte Elemente aus einem Array in PHP

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

So löschen Sie doppelte Elemente aus einem Array in PHP

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

So löschen Sie doppelte Elemente aus einem Array in PHP

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

So löschen Sie doppelte Elemente aus einem Array in PHP

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!

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