Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie doppelte Daten in einem Array in PHP

So entfernen Sie doppelte Daten in einem Array in PHP

PHPz
PHPzOriginal
2023-04-25 09:01:151028Durchsuche

In PHP ist Array ein wichtiger Datentyp, der bequem mehrere Daten speichern kann. In tatsächlichen Anwendungen können jedoch wiederholte Daten im Array zu Problemen und sogar zu Programmfehlern führen. Daher müssen wir lernen, wie man doppelte Daten aus einem Array entfernt.

Es gibt viele Möglichkeiten, PHP-Arrays zu deduplizieren. Im Folgenden werde ich vier häufig verwendete Methoden vorstellen.

1. Mit der Funktion array_unique können Sie doppelte Elemente in einem Array entfernen. Der Beispielcode lautet wie folgt:

$arr = array('a', 'b', 'c', 'a');
$arr = array_unique($arr);
print_r($arr);

Im obigen Code definieren wir zunächst ein Array mit doppelten Elementen , und verwenden Sie dann die Funktion array_unique, um doppelte Elemente aus dem Array zu entfernen und das Ergebnis auszugeben.

Es ist zu beachten, dass die Funktion array_unique standardmäßig das erste Element im Array behält und nachfolgende doppelte Elemente löscht. Wenn Sie das letzte Vorkommen doppelter Elemente beibehalten müssen, können Sie die Kombination der Funktionen array_reverse und array_unique verwenden:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Das Ausgabeergebnis lautet:

$arr = array('a', 'b', 'c', 'a');
$arr = array_reverse($arr);
$arr = array_unique($arr);
$arr = array_reverse($arr);
print_r($arr);

2. Verwenden Sie die Schleifendurchquerung, um doppelte Elemente zu löschen.

Wir können die Schleife durchlaufen Array und verwenden Sie die nicht gesetzte Funktion „Duplikate löschen“. Der Beispielcode lautet wie folgt:

Array
(
    [0] => b
    [1] => c
    [2] => a
)

Das Ausgabeergebnis lautet:

$arr = array('a', 'b', 'c', 'a');
for ($i = 0; $i < count($arr); $i++) {
    for ($j = $i + 1; $j < count($arr); $j++) {
        if ($arr[$i] == $arr[$j]) {
            unset($arr[$j]);
        }
    }
}
print_r($arr);

Im obigen Code verwenden wir eine zweistufige Schleife, um das Array zu durchlaufen, wobei wir zuerst auf $i zeigen das erste Element des Arrays und zeigt dann $j auf $i die folgenden Elemente. Wenn festgestellt wird, dass $i und $j gleich sind, löschen Sie das $j-Element mit der unset-Funktion und geben Sie schließlich das Ergebnis aus.

3. Verwenden Sie die Funktion array_flip.

Wenn die Elemente im Array eindeutig sind (d. h. nicht wiederholt), können wir die Funktion array_flip verwenden, um die Schlüssel und Werte auszutauschen, und dann die Funktion array_flip verwenden, um sie wieder auszutauschen. damit die doppelten Elemente entfernt werden können. Der Beispielcode lautet wie folgt:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Das Ausgabeergebnis ist:

$arr = array('a', 'b', 'c');
$arr = array_flip($arr);
$arr = array_flip($arr);
print_r($arr);

4. Mit der Funktion array_reduce können wir das Array in einen Wert komprimieren, der das Ergebnis iterierbarer Daten ist. In unserem Fall können wir jedes Element im Array als Schlüssel mit dem Wert 1 nehmen und diese Schlüssel dann über array_reduce in ein Array komprimieren. Der Beispielcode lautet wie folgt:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Das Ausgabeergebnis ist:

$arr = array('a', 'b', 'c', 'a');
$arr = array_reduce($arr, function ($memo, $item) {
    $memo[$item] = 1;
    return $memo;
}, array());
$arr = array_keys($arr);
print_r($arr);

Im obigen Code verwenden wir die Funktion array_reduce, um jedes Element im Array als Schlüssel zu verwenden, setzen den Wert auf 1 und verwenden dann array_keys Funktion, um den Schlüssel in ein Element im Array umzuwandeln und das Ergebnis auszugeben.

Zusammenfassung

Es gibt viele Möglichkeiten, doppelte Daten in Arrays in PHP zu entfernen. Wir können die geeignete Methode entsprechend der tatsächlichen Situation auswählen. Unter diesen ist die Funktion array_unique die gebräuchlichste und einfachste Methode. Anfängern wird empfohlen, sie zuerst zu beherrschen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Daten in 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