Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie identische Schlüsselnamen in einem Array in PHP

So entfernen Sie identische Schlüsselnamen in einem Array in PHP

PHPz
PHPzOriginal
2023-04-25 10:42:59468Durchsuche

In der PHP-Programmierung ist ein Array eine häufig verwendete Datenstruktur, die häufig zum Speichern einer Gruppe von Daten desselben Typs verwendet wird. Ein Array ist eine indizierte Liste, in der jedes Element einen bestimmten Schlüssel hat. Normalerweise müssen wir jedoch möglicherweise dieselben Schlüsselnamen aus dem Array entfernen. In diesem Artikel erfahren Sie, wie Sie dieselben Schlüsselnamen in einem Array in PHP entfernen.

Methode 1: Verwenden Sie die Funktion array_unique. Die Funktion array_unique() kann doppelte Werte im Array entfernen und ein neues Array zurückgeben. Wenn Sie Elemente mit denselben Schlüsselnamen entfernen müssen, können Sie zunächst array_values() verwenden, um ein neues Indexarray zu erhalten, dann die Funktion array_unique() verwenden, um Duplikate zu entfernen, und schließlich die Funktion array_combine() verwenden, um die Schlüsselnamen neu zu kombinieren und Werte in ein neues assoziatives Array.

Der Beispielcode lautet wie folgt:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

$new_array = array_values(array_unique($original_array));
$result_array = array_combine(range(1, count($new_array)), $new_array);

print_r($result_array);

Der obige Code gibt das folgende Ergebnis aus:

Array
(
    [1] => 001
    [2] => John
    [3] => male
    [4] => New York
    [5] => female
)

Methode 2: Foreach-Schleife verwenden

Wenn wir Elemente mit wiederholten Schlüsselnamen im ursprünglichen Array deduplizieren und den letzten beibehalten müssen Erstens können wir verwenden: Die foreach-Schleife durchläuft das Array, findet doppelte Elemente durch Vergleichen von Schlüsselnamen und verwendet dann die Funktion unset(), um doppelte Elemente zu löschen.

Der Beispielcode lautet wie folgt:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

foreach ($original_array as $key => $value) {
  $duplicated_key = array_keys($original_array, $value);
  if (count($duplicated_key) > 1) {
    unset($original_array[$duplicated_key[0]]);
  }
}

print_r($original_array);

Der obige Code gibt die folgenden Ergebnisse aus:

Array
(
    [name] => John
    [gender] => female
    [city] => New York
)

Beachten Sie, dass der obige Code nur aufeinanderfolgende doppelte Schlüsselnamen entfernen kann. Wenn Sie alle doppelten Schlüsselnamen entfernen möchten, können Sie die foreach-Schleife in eine while-Schleife ändern und die unset()-Operation intern ausführen, bis die Schlüsselnamen der gelöschten Elemente nicht mehr wiederholt werden.

Zusammenfassend lässt sich sagen, dass Sie in PHP die Funktion array_unique() oder die foreach-Schleife verwenden können, um dieselben Schlüsselnamen im Array zu entfernen. In bestimmten Szenarien sollten wir die geeignete Methode basierend auf der tatsächlichen Situation auswählen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie identische Schlüsselnamen 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