Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die Array-Eliminierung mit denselben Schlüsselwerten in PHP

So implementieren Sie die Array-Eliminierung mit denselben Schlüsselwerten in PHP

PHPz
PHPzOriginal
2023-04-17 16:36:41400Durchsuche

In der Programmiersprache PHP ist Array ein sehr häufig verwendeter Datentyp. Es kann mehrere Datenelemente speichern und über einen Schlüssel auf jedes Element zugreifen. Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir Werte mit demselben Schlüssel in einem Array entfernen müssen. In diesem Artikel wird erläutert, wie dieser Vorgang in PHP implementiert wird.

  1. Verstehen Sie die Grundkonzepte von PHP-Arrays

In PHP ist ein Array eine geordnete Sammlung von Daten, die verschiedene Datentypen wie Ganzzahlen, Gleitkommatypen, Zeichenfolgen und boolesche Typen enthalten kann. Auf die Elemente eines Arrays kann über ihre Schlüsselwerte zugegriffen werden. In PHP können Arrays in verschiedenen Formen deklariert und initialisiert werden, beispielsweise mit der Funktion array() oder mit dem Operator [] zum Erstellen eines Arrays. array()函数,或者使用[]运算符来创建一个数组。

例如,在以下代码中,我们可以创建一个包含5个元素的数组,并初始化每个元素。

$numbers = array(1, 2, 3, 4, 5);

或者,你也可以使用[]运算符来初始化一个数组:

$numbers = [1, 2, 3, 4, 5];

在这两种情况下,变量$numbers将是一个包含5个元素的数组,并且可以通过键值来访问每个元素。例如,我们可以使用$numbers[0]

Im folgenden Code können wir beispielsweise ein Array mit 5 Elementen erstellen und jedes Element initialisieren.
    $numbers = array(1, 2, 3, 4, 5, 5, 4);
    $uniqueNumbers = array_unique($numbers);
  1. Alternativ können Sie den Operator [] verwenden, um ein Array zu initialisieren:
  2. $numbers = array(1, 2, 3, 4, 5, 5, 4);
    $uniqueNumbers = array_filter($numbers, function ($value, $key) use ($numbers) {
        return array_keys($numbers, $value)[0] === $key;
    }, ARRAY_FILTER_USE_BOTH);
In beiden Fällen ist die Variable $numbers ein Array mit 5 Ein Array von Elementen, auf die jeweils über einen Schlüsselwert zugegriffen werden kann. Beispielsweise können wir $numbers[0] verwenden, um auf das erste Element zuzugreifen.

Identische Schlüsselwerte aus PHP-Arrays entfernen

Normalerweise müssen wir beim Schreiben von PHP-Programmen verschiedene Daten verarbeiten, z. B. das Abfragen von Daten aus einer Datenbank, das Lesen von Daten aus einer Datei oder das Empfangen von Daten von einer Webformular. In diesen Fällen stoßen wir häufig auf Situationen, in denen wir Werte mit demselben Schlüsselwert in einem PHP-Array entfernen müssen.

Glücklicherweise gibt es in PHP viele Möglichkeiten, diesen Vorgang auszuführen. Die drei am häufigsten verwendeten Methoden sind unten aufgeführt:

2.1 Verwenden Sie die Funktion array_unique, um Duplikate zu entfernen.

PHP verfügt über eine integrierte Funktion array_unique, die doppelte Werte im Array entfernen kann, zum Beispiel:

$numbers = array(1, 2, 3, 4, 5, 5, 4);
$tempNumbers = array();
foreach ($numbers as $key => $value) {
    if (in_array($value, $tempNumbers)) {
        unset($numbers[$key]);
    } else {
        $tempNumbers[] = $value;
    }
}
In der Im obigen Beispiel haben wir ein Array $numbers definiert, das mehrere identische Schlüsselwerte enthält, und die Funktion array_unique wird verwendet, um es zu deduplizieren. Das Ergebnis ist, dass Werte mit demselben Schlüsselwert eliminiert werden. Letztendlich wird $uniqueNumbers ein neues Array sein, das verschiedene Schlüsselwerte enthält.

2.2 Verwenden Sie die Funktion array_filter, um Schlüsselwerte zu filtern.

Die Funktion array_filter wird zum Filtern von Elementen in einem Array verwendet. Sie akzeptiert ein Array, das Elemente enthält, und gibt ein neues Array zurück, das nur die Elemente enthält, die die angegebenen Bedingungen erfüllen.

Im folgenden Code definieren wir beispielsweise ein Array $numbers, das mehrere identische Schlüsselwerte enthält, und verwenden die Funktion array_filter, um doppelte Schlüsselwerte herauszufiltern.

rrreee

Im obigen Code verwenden wir eine anonyme Funktion und übergeben das Array $numbers und den aktuellen Schlüsselwert als Parameter. Im Funktionskörper verwenden wir die Funktion array_keys, um das erste Vorkommen des aktuellen Schlüsselwerts im Array $numbers abzurufen und es mit dem aktuellen Schlüsselwert zu vergleichen. True wird nur zurückgegeben, wenn die beiden Schlüsselwerte gleich sind. Das schließlich zurückgegebene neue Array ist ein Array, das nur Schlüsselwerte ohne Duplikate enthält.

2.3 Verwenden Sie die Foreach-Schleife, um eine Deduplizierung zu erreichen.

Wir können die Foreach-Schleife verwenden, um das Array zu durchlaufen, und eine temporäre Variable verwenden, um nicht doppelte Schlüsselwerte zu speichern. Wir prüfen für jedes Element, ob es bereits in der temporären Variable vorkommt. Wenn dies der Fall ist, wird es aus dem ursprünglichen Array entfernt, andernfalls wird es einer temporären Variablen hinzugefügt.
  1. Das Folgende ist ein Beispielcode:
  2. rrreee
Im obigen Code definieren wir zunächst ein temporäres Array $tempNumbers und verwenden eine foreach-Schleife, um das ursprüngliche Array $numbers zu durchlaufen. Wir prüfen für jedes Element, ob es bereits im temporären Array $tempNumbers vorkommt. Wenn dies der Fall ist, verwenden Sie die Funktion unset, um es aus dem ursprünglichen Array $numbers zu entfernen. Andernfalls fügen Sie es dem temporären Array $tempNumbers hinzu. Letztendlich ist das $numbers-Array ein Array ohne doppelte Schlüsselwerte.

🎜Zusammenfassung🎜🎜🎜In diesem Artikel haben wir den Vorgang des Entfernens derselben Schlüsselwerte aus einem Array in der Programmiersprache PHP vorgestellt. Durch die Verwendung der in PHP integrierten Funktionen array_unique, array_filter und foreach-Schleife können wir doppelte Schlüsselwerte im Array leicht entfernen. Unabhängig davon, welche Methode verwendet wird, kann sie Entwicklern dabei helfen, Daten in PHP-Arrays effizienter zu verarbeiten. 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Array-Eliminierung mit denselben Schlüsselwerten 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