Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie Duplikate aus einem Array in PHP (ohne Verwendung von Funktionen)

So entfernen Sie Duplikate aus einem Array in PHP (ohne Verwendung von Funktionen)

PHPz
PHPzOriginal
2023-04-26 09:14:52394Durchsuche

Bei der PHP-Entwicklung stoßen wir häufig auf Szenarien, in denen wir Arrays deduplizieren müssen. Normalerweise können wir dies mit der Funktion array_unique erreichen. Wie kann jedoch eine Array-Deduplizierung ohne Verwendung von Funktionen erreicht werden? In diesem Artikel wird erläutert, wie Sie mithilfe von Schleifen eine Array-Deduplizierung erreichen.

Methode 1: Verwenden Sie Schleifen, um die Array-Deduplizierung zu implementieren

Der spezifische Implementierungsprozess ist wie folgt:

<?php
//定义测试数组
$arr = array(1,2,3,2,1,4,5,4,6);
$count = count($arr);
//循环遍历数组
for ($i=0; $i<$count; $i++) {
 //从第i个元素之后循环判断是否有相同值
 for ($j=$i+1; $j<$count; $j++) {
  //如果有相同值,则删除当前元素
  if ($arr[$i] == $arr[$j]) {
   array_splice($arr, $j, 1); //使用array_splice函数删除元素
   //因为删除元素后,数组长度发生了变化,需要重新计算数组长度
   $count = count($arr);
   $j--; //指针向前移动,避免遗漏元素
  }
 }
}
//打印去重后的数组
print_r($arr);
?>

Im obigen Code verwenden wir a for-Schleife zum Deduplizieren des Arrays. Durchlaufen Sie für jedes Element eine for-Schleife, um von den Elementen nach dem Element zu durchlaufen und festzustellen, ob sie denselben Wert haben. Wenn dies der Fall ist, verwenden Sie die Funktion array_splice, um doppelte Elemente zu entfernen und die Array-Länge und Zeigerposition neu zu berechnen, um fehlende Elemente zu vermeiden.

Methode 2: Verwenden Sie Kernfunktionen, um die Array-Deduplizierung zu implementieren.

Zusätzlich zur Verwendung der Schleifenmethode können wir auch die Kernfunktionen von PHP verwenden, um die Array-Deduplizierung zu implementieren. Der spezifische Implementierungsprozess ist wie folgt:

<?php
//定义测试数组
$arr = array(1,2,3,2,1,4,5,4,6);
//使用array_keys函数获取数组中每个元素的键值
$keys = array_keys($arr);
//使用array_values函数获取数组中每个元素的值
$values = array_values($arr);
//使用array_unique函数对values数组进行去重
$values = array_unique($values);
//使用array_combine函数将keys数组和去重后的values数组重新组成一个数组
$arr = array_combine($keys, $values);
//打印去重后的数组
print_r($arr);
?>

Im obigen Code verwenden wir zunächst die Funktionen array_keys und array_values ​​​​, um den Schlüssel und den Wert jedes Elements im Array abzurufen, und verwenden dann array_unique Funktion, um das Wertearray zu deduplizieren, und verwenden Sie dann die Funktion array_combine, um das Schlüsselarray und das deduplizierte Wertearray in einem neuen Array neu zu kombinieren. Obwohl diese Methode relativ einfach ist, kann es bei vielen Elementen zu einer hohen Speichernutzung kommen und die Leistung ist nicht so gut wie die Schleifenmethode.

Zusammenfassung:

Array-Deduplizierung ist ein Problem, das häufig in der PHP-Entwicklung auftritt. Wir können Schleifen oder Kernfunktionen verwenden, um dies zu erreichen. Die Verwendung der Schleifenmethode ist möglicherweise zeitaufwändiger, benötigt jedoch weniger Speicher und eignet sich für Arrays mit einer geringen Anzahl von Elementen. Durch die Verwendung der Kernfunktionsmethode werden die Elementwerte in einem neuen Array neu organisiert, das mehr Speicher beansprucht, den Deduplizierungsvorgang jedoch schneller abschließen kann und für Arrays mit einer großen Anzahl von Elementen geeignet ist.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Duplikate aus einem Array in PHP (ohne Verwendung von Funktionen). 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