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

So entfernen Sie doppelte Werte aus einem Array in PHP

PHPz
PHPzOriginal
2023-04-23 09:18:40887Durchsuche

Mit der kontinuierlichen Entwicklung des Internets hat die Bedeutung der Webentwicklung immer mehr Aufmerksamkeit auf sich gezogen. Im Prozess der Webentwicklung wird die PHP-Sprache als eine der grundlegendsten Sprachen häufig in der serverseitigen Programmierung verwendet, und Arrays sind eine der wichtigen Komponenten der PHP-Sprache.

Normalerweise müssen wir bei der Datenverarbeitung manchmal Arrays verwenden und erwarten, dass sich die internen Werte nicht wiederholen. Wenn es dieselben Werte gibt, kommt es leicht zu wiederholten Ergebnissen. Dazu müssen wir eine spezielle Funktion verwenden, um doppelte Werte aus einem PHP-Array zu entfernen. Schauen wir uns das genauer an.

Um doppelte Werte aus einem Array in PHP zu entfernen, verwenden Sie tatsächlich die Funktion array_unique(). Als nächstes werden wir anhand einiger Beispiele die Verwendung vorstellen.

  1. Entfernen Sie doppelte Werte aus einem indizierten Array

Um doppelte Elemente aus einem Array in PHP zu entfernen, können Sie die in PHP integrierte Funktion array_unique() verwenden. Es kann uns helfen, doppelte Elemente im Array zu filtern, wobei das erste Vorkommen des Elements in der Datei erhalten bleibt und alle nachfolgenden Kopien gelöscht werden.

Im Folgenden wird gezeigt, wie Sie mit der Funktion array_unique() doppelte Werte im Indexarray entfernen:

<?php

$names = array("John", "Peter", "David", "Peter", "Mike", "David", "Mark", "Peter");

$unique_names = array_unique($names);

print_r($unique_names);

?>

Das Ausgabeergebnis lautet:

Array
(
    [0] => John
    [1] => Peter
    [2] => David
    [4] => Mike
    [6] => Mark
)

Wir können sehen, dass die Elemente „Peter“ und „David“ mit Indizes versehen sind 3 und 5 wurden gelöscht, nur einer bleibt übrig. Dies liegt daran, dass die Funktion array_unique() das erste Vorkommen eines Elements im Array beibehält und alle nachfolgenden Vorkommen des Elements löscht.

  1. Entfernen Sie doppelte Werte aus assoziativen Arrays

Zusätzlich zur Indizierung von Arrays können wir auch die Funktion array_unique() verwenden, um doppelte Werte aus assoziativen Arrays in PHP zu entfernen. Bei assoziativen Arrays ist bei der Angabe von Schlüsseln Vorsicht geboten.

Im Folgenden wird gezeigt, wie Sie die Funktion array_unique() verwenden, um doppelte Werte in einem assoziativen Array zu entfernen:

<?php

$users = array(
    "id1" => array("name" => "John", "email" => "john@example.com"),
    "id2" => array("name" => "Peter", "email" => "peter@example.com"),
    "id3" => array("name" => "David", "email" => "david@example.com"),
    "id4" => array("name" => "Peter", "email" => "peter@example.com"),
    "id5" => array("name" => "Mike", "email" => "mike@example.com"),
    "id6" => array("name" => "David", "email" => "david@example.com"),
);

// 指定"name"键去除重复值
$unique_users = array_map("unserialize", array_unique(array_map("serialize", $users)));

print_r($unique_users);

?>

Das Ausgabeergebnis lautet:

Array
(
    [id1] => Array
        (
            [name] => John
            [email] => john@example.com
        )

    [id2] => Array
        (
            [name] => Peter
            [email] => peter@example.com
        )

    [id3] => Array
        (
            [name] => David
            [email] => david@example.com
        )

    [id5] => Array
        (
            [name] => Mike
            [email] => mike@example.com
        )

)

Wir können sehen, dass das Element, wenn der Schlüssel „name“ angegeben wird „id4“ wurde gelöscht. Die erste Kopie, die im assoziativen Array erscheint, bleibt erhalten.

  1. Entfernen Sie doppelte Werte aus mehrdimensionalen Arrays

Zusätzlich zu Indexarrays und assoziativen Arrays können wir auch die Funktion array_unique() verwenden, um doppelte Werte aus mehrdimensionalen Arrays in PHP zu entfernen. Bei mehrdimensionalen Arrays müssen Sie auf die Position der angegebenen Schlüsselwerte achten.

Im Folgenden wird gezeigt, wie Sie mit der Funktion array_unique() doppelte Werte in einem mehrdimensionalen Array entfernen:

<?php

$courses = array(
    array("name" => "PHP Programming", "code" => "PHP101"),
    array("name" => "Web Design", "code" => "WD101"),
    array("name" => "PHP Programming", "code" => "PHP101"), 
    array("name" => "Java Programming", "code" => "JAVA101")
);

// 指定“name”键值的位置
$unique_courses = array_map("unserialize", array_unique(array_map("serialize", array_column($courses , null , 'name'))));

print_r($unique_courses);

?>

Das Ausgabeergebnis lautet:

Array
(
    [PHP Programming] => Array
        (
            [name] => PHP Programming
            [code] => PHP101
        )

    [Web Design] => Array
        (
            [name] => Web Design
            [code] => WD101
        )

    [Java Programming] => Array
        (
            [name] => Java Programming
            [code] => JAVA101
        )

)

Das können wir sehen, wenn wir die Position des „Namens“ angeben. Schlüsselwert, das Element „PHP Programming“ wurde entfernt, wobei die erste Kopie beibehalten wird, die im mehrdimensionalen Array erscheint.

Zusammenfassung

In PHP können wir über die Funktion array_unique() leicht doppelte Werte im Array entfernen. Für indizierte Arrays, assoziative Arrays und mehrdimensionale Arrays können Sie die Parameter der Funktion entsprechend der spezifischen Situation angeben, um die besten Ergebnisse zu erzielen. Durch das Erlernen der Verwendung der Funktion array_unique() können wir die Anwendung der PHP-Sprache in der Webentwicklung besser beherrschen und unser technisches Niveau weiter verbessern.

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