Heim > Backend-Entwicklung > PHP-Problem > So ermitteln Sie, ob in einem Array in PHP doppelte Elemente vorhanden sind

So ermitteln Sie, ob in einem Array in PHP doppelte Elemente vorhanden sind

PHPz
Freigeben: 2023-03-24 17:36:01
Original
1452 Leute haben es durchsucht

PHP ist eine weit verbreitete Skriptsprache, die häufig in der Webentwicklung eingesetzt wird. Bei der PHP-Entwicklung verwenden wir häufig den Datentyp Array. Die Feststellung, ob das Array doppelte Elemente enthält, ist ebenfalls eine sehr wichtige Aufgabe. In diesem Artikel besprechen wir, wie Sie mithilfe von PHP feststellen können, ob in einem Array doppelte Elemente vorhanden sind.

Verwenden Sie die Funktion array_count_values() für Statistiken

Eine andere Methode ist die Verwendung der Funktion array_count_values() für Statistiken. Diese Funktion gibt ein neues Array zurück, das die Häufigkeit des Auftretens jedes Elements enthält. Wir können das neue Array durchlaufen und Elemente ermitteln, die mehr als 1 als doppelte Elemente erscheinen.

Das Folgende ist der Beispielcode:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_count_values($arr);

foreach($arr_new as $key => $value) {
    if($value != 1) {
        unset($arr[$key]);
    }
}

print_r($arr);
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Methode zur Verwendung der Funktion array_count_values() für Statistiken ist ebenfalls sehr gut und weist eine gewisse Praktikabilität auf.

Erweiterte Kenntnisse: Deduplizierung

  • Verwenden Sie die Funktion array_unique(), um doppelte Elemente zu entfernen

Die Funktion array_unique() ist eine Funktion, die in PHP gekapselt wurde, um doppelte Elemente aus einem Array zu entfernen. Die Syntaxstruktur lautet wie folgt:

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Nach dem Login kopieren

Diese Funktion gibt nach dem Entfernen doppelter Elemente ein neues Array zurück, wobei sort_flags ein optionaler Parameter ist, der zum Festlegen der Sortierregeln verwendet wird. Standardmäßig führt die Funktion einen String-Vergleich aller Werte durch und sortiert diese in aufsteigender Reihenfolge. Wir können die Parameter auswählen, um sie nach unseren Bedürfnissen zu sortieren.

Das Folgende ist ein Beispiel:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_unique($arr);
print_r($arr_new);
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen können, entfernt die Funktion erfolgreich doppelte Elemente im Array.

  • Verwenden Sie die Schleifendeduplizierungsmethode

In der PHP-Entwicklung können wir Schleifen verwenden, um das Array zu durchlaufen und Deduplizierungsvorgänge rechtzeitig durchzuführen. Die spezifischen Schritte sind wie folgt:

1. Ermitteln Sie die Länge des Arrays.
Wir können die Funktion count() verwenden, um die Länge des Arrays zu ermitteln.

2. Schleife durch das Array
Verwenden Sie die for-Schleifenanweisung, um das Array zu durchlaufen. Zu diesem Zeitpunkt können Sie zwei Variablen i und j verwenden, wobei i verwendet wird, um auf das aktuelle Element zu zeigen, an dem gearbeitet wird, und j verwendet wird um auf das nächste Element zu zeigen.

3. Bestimmen Sie, ob es doppelte Elemente gibt.
Innerhalb der Schleife können wir die if-Anweisung zur Beurteilung verwenden. Wenn das i-Element gleich dem j-Element ist, wird davon ausgegangen, dass es ein doppeltes Element gibt, und unset(). Mit der Funktion kann das Element gelöscht werden.

Das Folgende ist ein Beispielcode:

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$len = count($arr);

for($i=0; $i<$len-1; $i++) {
    for($j=$i+1; $j<$len; $j++) {
        if($arr[$i] == $arr[$j]) {
            unset($arr[$j]);
        }
    }
}

print_r($arr);
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen können, ist der Effekt der Deduplizierung durch Schleifen auch recht gut

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob in einem Array in PHP doppelte Elemente vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage