Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich doppelte Subarrays aus einem mehrdimensionalen PHP-Array basierend auf E-Mail?

Wie entferne ich doppelte Subarrays aus einem mehrdimensionalen PHP-Array basierend auf E-Mail?

Barbara Streisand
Barbara StreisandOriginal
2024-11-26 22:22:101028Durchsuche

How to Remove Duplicate Subarrays from a PHP Multidimensional Array Based on Email?

Mehrdimensionales PHP-Array: Duplikate basierend auf E-Mail entfernen

Problem:

Sie haben ein mehrdimensionales Array mit Unterarrays, die Namen enthalten , Nachname und E-Mail-Informationen, wie unten gezeigt:

$array = [
    [0] => ['dave', 'jones', 'dave.jones@example.com'],
    [1] => ['john', 'jones', 'john.jones@example.com'],
    [2] => ['bruce', 'finkle', 'bruce.finkle@example.com'],
];

Sie müssen Duplikate entfernen Subarrays basierend auf dem E-Mail-Wert.

Lösung:

Um ein mehrdimensionales Array basierend auf einem bestimmten Wert effektiv zu deduplizieren, können wir die Einzigartigkeit von Array-Indizes nutzen. Hier ist eine Lösung mit diesem Ansatz:

$newArr = [];
foreach ($array as $val) {
    $newArr[$val[2]] = $val;    
}
$array = array_values($newArr);

Hinweis:

  • Die letzte Übereinstimmung für jede E-Mail-Adresse wird im resultierenden Array beibehalten. Um die erste Übereinstimmung zu priorisieren, kehren Sie das Array um, bevor Sie es durchlaufen:
foreach (array_reverse($array) as $val) {
  • Die Array-Indizes im neuen Array dürfen nicht fortlaufend sein.

Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Subarrays aus einem mehrdimensionalen PHP-Array basierend auf E-Mail?. 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