Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie Duplikate in PHP ohne Array-Funktion

So entfernen Sie Duplikate in PHP ohne Array-Funktion

PHPz
PHPzOriginal
2023-04-18 15:20:40437Durchsuche

Die PHP-Sprache ist heute eine sehr beliebte Programmiersprache. Ihre leistungsstarken Array-Funktionen werden von immer mehr Programmierern während des Entwicklungsprozesses beherrscht und verwendet. Junge PHP-Programmierer wissen jedoch möglicherweise nicht, dass die PHP-Sprache keine Array-Funktionen erfordert, um Array-Deduplizierungsvorgänge durchzuführen. In diesem Artikel werden wir verschiedene Methoden der Array-Deduplizierung in der PHP-Sprache untersuchen und ihre Implementierungsprinzipien verstehen und beherrschen.

Array-Deduplizierung ist ein grundlegender Datenvorgang, der doppelte Daten effektiv entfernen und Entwicklern Speicherplatz und Rechenressourcen sparen kann. In PHP verwenden wir normalerweise Array-Funktionen wie array_unique, um Deduplizierungsvorgänge durchzuführen. Tatsächlich können jedoch einige in die PHP-Sprache integrierte Sprachfunktionen verwendet werden, um dieselbe Funktion zu erreichen, und diese Methoden sind effizienter und flexibler als die Verwendung von Array-Funktionen um Duplikate zu entfernen.

Methode 1: Verwenden Sie das Schlüssel-Wert-Austauschprinzip, um eine Array-Deduplizierung zu erreichen

In PHP liegt ein Array in Form eines Schlüssel-Wert-Paares vor, und auf den entsprechenden Wert (Wert) kann direkt über den Schlüsselnamen zugegriffen werden ( Schlüssel) und der Schlüsselname kann eine beliebige Ganzzahl oder Zeichenfolge sein. Daher können wir diese Funktion verwenden, um den Zweck der Deduplizierung zu erreichen, indem wir die Werte und Schlüsselnamen des Arrays austauschen. Die spezifische Implementierungsmethode lautet wie folgt:

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
foreach ($origin as $key => $val) {
    $tmp[$val] = 1;
}
$unique = array_keys($tmp);

//输出结果
print_r($unique);
?>

In diesem Code verwenden wir zunächst eine foreach-Schleife, um das Array zu durchlaufen, wobei wir den entsprechenden Wert als Schlüsselnamen und 1 als entsprechenden Wert verwenden. Da der Schlüsselname eindeutig ist, werden unterschiedlichen Schlüsselnamen unterschiedliche Werte zugewiesen, und derselbe Wert überschreibt den ursprünglichen Schlüsselnamen, wodurch der Zweck der Deduplizierung erreicht wird. Abschließend werden alle Schlüsselnamen über die Funktion array_keys extrahiert und zu einem neuen Array geformt.

Methode 2: Verwenden Sie die Funktion array_flip, um Schlüsselnamen und -werte auszutauschen und eine Array-Deduplizierung zu erreichen.

Im Vergleich zu Methode 1 oben ist diese Deduplizierungsmethode präziser. Wir können die in PHP integrierte Array-Funktion array_flip verwenden, um die Schlüsselnamen und Werte des ursprünglichen Arrays auszutauschen und so den Effekt der Deduplizierung zu erzielen.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_keys(array_flip($origin));

//输出结果
print_r($unique);
?>

In diesem Code verwenden wir zunächst die Funktion array_flip, um die Schlüsselnamen und Wertpositionen des ursprünglichen Arrays auszutauschen, sodass die wiederholten Werte zu wiederholten Schlüsselnamen werden und die Schlüsselnamen eindeutig sein müssen, damit wir Duplikat erreichen Wirkung. Abschließend verwenden wir erneut die Funktion array_keys, um alle Schlüsselnamen zu extrahieren und ein neues dedupliziertes Array zu generieren.

Methode 3: Verwenden Sie die Funktion array_diff, um eine Array-Differenzoperation durchzuführen.

Diese Deduplizierungsmethode unterscheidet sich von den ersten beiden Methoden. Sie dedupliziert durch Berechnung der Array-Differenz. Die spezifische Implementierungsmethode lautet wie folgt:

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_diff($origin, array_diff_assoc($origin, array_unique($origin)));

//输出结果
print_r($unique);
?>

In diesem Code verwenden wir zunächst die Funktion array_unique, um das deduplizierte Array abzurufen. Dann verwenden wir die Funktion array_diff_assoc, um das ursprüngliche Array und das deduplizierte Array zu vergleichen und die Teile zu erhalten, deren Schlüsselnamen und Schlüsselwerte unterschiedlich sind, also die doppelten Teile. Schließlich verwenden wir erneut die Funktion array_diff, um doppelte Teile zu entfernen und das endgültige deduplizierte Array zu erhalten.

Zusammenfassend haben wir drei integrierte Array-Deduplizierungsmethoden in der PHP-Sprache besprochen. Alle Methoden haben ihre eigenen Vorteile und anwendbaren Szenarien. Durch die flexible Beherrschung dieser Methoden können wir Zeit sparen, Ressourcen sparen und die Lesbarkeit und Wartbarkeit des Codes verbessern. Daher sollten Programmierer je nach Situation in der täglichen Entwicklung unterschiedliche Deduplizierungsmethoden wählen, um den effizienten Betrieb des Codes sicherzustellen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Duplikate in PHP ohne Array-Funktion. 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