So entfernen Sie doppelte Felder aus einem Array in PHP

PHPz
Freigeben: 2023-04-18 15:10:08
Original
576 Leute haben es durchsucht

In PHP ist Array eine der am häufigsten verwendeten Datenstrukturen. Für einige Anwendungsszenarien, in denen Daten verarbeitet werden müssen, ist es häufig erforderlich, doppelte Felder in Arrays zu entfernen. Hier sind einige gängige Methoden und Techniken.

1. Verwenden Sie die Funktion array_unique

Die Funktion array_unique ist eine der integrierten Funktionen von PHP, die doppelte Werte in einem Array entfernen kann. Die Verwendung ist sehr einfach:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_unique($array);
print_r($result);
Nach dem Login kopieren

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

2. Verwenden Sie die Funktionen array_flip und array_keys, um eine Deduplizierung zu erreichen. Die Funktion array_flip kann die Schlüssel und Werte im Array austauschen, und die Funktion array_keys kann alle zurückgeben die Schlüssel im Array-Schlüsselwert. Daher können wir diese beiden Funktionen kombinieren, um eine Array-Deduplizierung zu erreichen:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_flip(array_flip($array));
print_r($result);
Nach dem Login kopieren

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

3. Verwenden Sie die foreach-Schleife zum Deduplizieren.

Verwenden Sie die foreach-Schleife, um das Array zu durchlaufen, und nutzen Sie die Eindeutigkeit des Array-Index, um eine Deduplizierung zu erreichen :

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  $temp[$value] = true;
}
$result = array_keys($temp);
print_r($result);
Nach dem Login kopieren

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

4. Verwenden Sie die Funktion in_array, um die Duplizierung zu ermitteln.

Wenn Sie die foreach-Schleife zum Durchlaufen des Arrays verwenden, können wir sie mit der Funktion in_array kombinieren, um festzustellen, ob der aktuelle Wert bereits im Array vorhanden ist Ergebnis-Array, wodurch eine Deduplizierung erreicht wird:

$array = array('a', 'b', 'c', 'b', 'a');
$temp = array();
foreach ($array as $value) {
  if (!in_array($value, $temp)) {
    $temp[] = $value;
  }
}
print_r($temp);
Nach dem Login kopieren

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

5. Verwenden Sie die Funktion array_reduce, um eine Deduplizierung zu erreichen. Die Funktion array_reduce kann die Elemente im Array iterieren und akkumulieren Array-Deduplizierung erreichen:

$array = array('a', 'b', 'c', 'b', 'a');
$result = array_reduce($array, function($carry, $item) {
  if (!in_array($item, $carry)) {
    $carry[] = $item;
  }
  return $carry;
}, array());
print_r($result);
Nach dem Login kopieren

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die oben genannten Methoden zum Entfernen doppelter Felder aus Arrays in PHP. Verschiedene Methoden haben ihre eigenen Vor- und Nachteile, und Sie können sie entsprechend der tatsächlichen Situation verwenden.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Felder aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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