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

So entfernen Sie doppelte Felder aus einem Array in PHP

PHPz
PHPzOriginal
2023-04-18 14:08:28542Durchsuche

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);

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

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);

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

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);

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

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);

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

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);

Das Ergebnis ist:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

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!

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