Heim >Backend-Entwicklung >PHP-Problem >PHP-Array schließt Duplikate aus

PHP-Array schließt Duplikate aus

WBOY
WBOYOriginal
2023-05-06 13:23:07526Durchsuche

In PHP müssen wir häufig Array-Operationen verarbeiten, und manchmal gibt es doppelte Elemente in einem Array, die entfernt werden müssen. In diesem Artikel werden mehrere häufig verwendete Methoden zum Entfernen von Duplikaten in PHP-Arrays vorgestellt.

  1. Verwenden Sie die Funktion array_unique().

Die Funktion array_unique() kann ein neues Array ohne doppelte Werte zurückgeben.

Beispielcode:

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_unique($arr);
print_r($new_arr);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. Verwenden einer Schleife zum Ausschließen von Duplikaten

Eine andere Möglichkeit, Duplikate auszuschließen, besteht darin, eine Schleife zu verwenden, um über das Array zu iterieren und die Funktion in_array() zu verwenden, um zu überprüfen, ob alle vorhanden sind Der Wert ist im neuen Array bereits vorhanden. Wenn es nicht vorhanden ist, fügen Sie es dem neuen Array hinzu.

Beispielcode:

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array();

foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}

print_r($new_arr);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
  1. Mit der Funktion array_filter() kann die Funktion array_filter() verwendet werden, um alle Nullwerte in einem Array zu entfernen. Wenn Sie eine Callback-Funktion verwenden, können Sie die Werte des Arrays basierend auf angegebenen Bedingungen filtern.
Beispielcode:

$arr = array("apple", "banana", "cherry", "", "banana");
$new_arr = array_filter($arr);

print_r($new_arr);
Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [4] => banana
)
Wenn Sie doppelte Elemente ausschließen möchten, können Sie die Rückruffunktion zum Filtern verwenden.

Beispielcode:

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_filter($arr, function ($value, $key) use ($arr) {
    return array_search($value, $arr) === $key;
}, ARRAY_FILTER_USE_BOTH);

print_r($new_arr);
Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
Die Rückruffunktion prüft hier, ob der Index des Werts mit dem Index im Array übereinstimmt. Wenn ja, ist der Wert eindeutig.

Verwenden Sie die Funktionen array_keys() und array_values()

  1. Eine andere Möglichkeit, Duplikate auszuschließen, besteht darin, die Funktion array_keys() zu verwenden, um die eindeutigen Schlüssel im Array abzurufen, und die Funktion array_values(), um die entsprechenden Werte abzurufen.
Beispielcode:

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_values(array_unique(array_keys($arr, true)));

print_r($new_arr);
Ausgabeergebnis:

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)
Was hier zurückgegeben wird, ist ein Array von Schlüsseln, das mithilfe der Funktion array_map() in ein Array von Werten umgewandelt werden kann.

Beispielcode:

$arr = array("apple", "banana", "cherry", "apple", "banana");
$new_arr = array_map(function ($key) use ($arr) {
    return $arr[$key];
}, array_values(array_unique(array_keys($arr, true))));

print_r($new_arr);
Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
Die oben genannten Methoden zur Implementierung der Array-Ausschlussduplizierung in PHP haben jeweils unterschiedliche Vor- und Nachteile. Wählen Sie die am besten geeignete Methode entsprechend dem jeweiligen Anwendungsszenario.

Das obige ist der detaillierte Inhalt vonPHP-Array schließt Duplikate aus. 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