Heim >Backend-Entwicklung >PHP-Problem >Entfernen Sie identische Werte aus dem PHP-Array

Entfernen Sie identische Werte aus dem PHP-Array

WBOY
WBOYOriginal
2023-05-07 19:56:06571Durchsuche

In PHP ist Array ein sehr wichtiger Datentyp, und es kommt häufig vor, dass dieselben Werte im Array entfernt werden müssen. Dieser Vorgang wird Deduplizierung oder auch Entfernen von Duplikaten genannt. In der tatsächlichen Entwicklung ist die Deduplizierung ein notwendiger Schritt zur Lösung vieler Probleme.

PHP bietet eine Vielzahl integrierter Funktionen, die zum Deduplizieren von Arrays verwendet werden können. In diesem Artikel werden vier häufig verwendete Methoden vorgestellt.

Methode 1: Verwenden Sie die Funktion array_unique()

Die Funktion array_unique() ist eine der einfachsten und am häufigsten verwendeten Funktionen in PHP. Es kann verwendet werden, um doppelte Werte aus einem Array zu entfernen und ein neues Array zurückzugeben.

Hier ist ein einfaches Beispiel:

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_unique($arr);
print_r($result);

Die Ausgabe dieses Codes lautet:

Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [6] => 5 )

Sie können sehen, dass die doppelten Werte ​​2 und 3 im ursprünglichen Array entfernt wurden. Es ist jedoch zu beachten, dass die Funktion array_unique() nur zum Entfernen doppelter Werte in einem eindimensionalen Array verwendet werden kann. Wenn Sie doppelte Werte aus einem mehrdimensionalen Array entfernen müssen, müssen Sie andere Methoden verwenden.

Methode 2: Verwenden Sie die Funktion array_count_values()

Die Funktion array_count_values() wird verwendet, um die Anzahl der Vorkommen jedes Werts im Array zu zählen und ein neues Array zurückzugeben, in dem die Anzahl der Vorkommen jedes Werts als dessen verwendet wird entsprechenden Schlüsselwert.

Das Folgende ist ein Beispiel:

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_count_values($arr);
print_r($result);

Die Ausgabe dieses Codes lautet:

Array ( [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 1 )

In diesem neuen Array stellt jeder Schlüssel den Wert dar, der im ursprünglichen Array erscheint, und sein entsprechender Wert stellt den Wert im ursprünglichen Array dar. Die Anzahl der Vorkommen im Array.

Wenn Sie sich nur für eindeutige Werte im ursprünglichen Array interessieren, können Sie die Funktion array_keys() verwenden, um alle Schlüssel im neuen Array abzurufen, um die ursprüngliche Zahl zu erhalten. Verwenden Sie einfach die Funktion array_unique(), um doppelte Werte zu entfernen .

Methode 3: Foreach-Schleife verwenden

Wenn Sie die integrierte Funktion nicht verwenden möchten, können Sie doppelte Werte im Array entfernen, indem Sie eine foreach-Schleife schreiben.

Hier ist ein Beispiel:

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array();
foreach ($arr as $value) {
    if (!in_array($value, $result)) {
        $result[] = $value;
    }
}
print_r($result);

Die Ausgabe dieses Codes ist die gleiche wie bei Verwendung der Funktion array_unique().

In diesem Beispiel definieren wir zunächst ein leeres Array $result und verwenden dann foreach, um alle Werte im ursprünglichen Array $arr zu durchlaufen. Wenn sich der aktuelle Wert nicht im $result-Array befindet, fügen Sie ihn dem $result-Array hinzu und erstellen so ein neues, eindeutiges Array.

Es ist erwähnenswert, dass wir in dieser Schleife die Funktion in_array() verwenden, um zu bestimmen, ob sich der aktuelle Wert im $result-Array befindet. Wenn der Wert im $result-Array vorhanden ist, wurde er bereits hinzugefügt, sodass wir ihn nicht noch einmal hinzufügen müssen.

Methode 4: Verwenden Sie die Funktionen array_flip() und array_values()

Abschließend stellen wir eine Deduplizierungsmethode vor, die die Funktionen array_flip() und array_values() verwendet. Die Funktion

array_flip() kann die Schlüssel und Werte in einem Array austauschen, um ein neues Array zu erstellen. Wenn das ursprüngliche Array doppelte Werte enthält, entfernt diese Methode automatisch die doppelten Werte.

Hier ist ein Beispiel:

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_values(array_flip($arr));
print_r($result);

Die Ausgabe dieses Codes ist die gleiche wie im vorherigen Beispiel.

In diesem Beispiel verwenden wir zunächst die Funktion array_flip(), um die Schlüssel und Werte im ursprünglichen Array auszutauschen, und verwenden dann die Funktion array_values(), um die Werte im neuen Array neu anzuordnen. Da das ursprüngliche Array doppelte Werte enthält, werden diese doppelten Werte bei Verwendung der Funktion array_flip() automatisch entfernt.

Fazit

Array-Deduplizierung ist zweifellos eine sehr wichtige Operation in PHP. Sie kann wiederholte Berechnungen während der Datenverarbeitung vermeiden und die laufende Effizienz des Programms verbessern. In diesem Artikel haben wir mehrere Deduplizierungsmethoden behandelt, darunter die Funktion array_unique(), die Funktion array_count_values(), die foreach-Schleife sowie die Funktionen array_flip() und array_values(). Sie haben jeweils ihre eigenen Eigenschaften und Sie können die Methode wählen, die Ihren Anforderungen entspricht.

Das obige ist der detaillierte Inhalt vonEntfernen Sie identische Werte aus dem PHP-Array. 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