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

So entfernen Sie doppelte Elemente aus einem zweidimensionalen Array in PHP

PHPz
PHPzOriginal
2023-04-26 14:21:10846Durchsuche

In PHP ist ein zweidimensionales Array ein sehr häufiger Datentyp. Wenn wir jedoch mit einem zweidimensionalen Array mit wiederholten Elementen konfrontiert sind, wie können wir die wiederholten Elemente entfernen? In diesem Artikel werden zwei häufig verwendete Methoden vorgestellt, die Ihnen helfen, dieses Problem einfach zu lösen.

Methode 1: Verwenden Sie die Funktion array_unique()

Die Funktion array_unique() ist PHPs eigene Funktion, die doppelte Elemente aus dem Array entfernen kann. Diese Funktion funktioniert jedoch nur mit eindimensionalen Arrays. Wie wendet man dies also auf ein 2D-Array an?

Wir können die Funktion array_map() verwenden, um die Funktion array_unique() auf jedes Unterarray des zweidimensionalen Arrays anzuwenden, wie unten gezeigt:

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$arr = array_map("unserialize", array_unique(array_map("serialize", $arr)));

print_r($arr);

In der obiger Code: Wir verwenden zuerst die Funktion array_map(), um die Funktion array_unique() auf jedes Unterarray des zweidimensionalen Arrays anzuwenden, und verwenden dann die Funktion array_map(), um es zu deserialisieren, um das endgültige zweidimensionale Array zu erhalten.

Methode 2: Foreach-Schleife verwenden

Zusätzlich zu den oben genannten Methoden können wir auch die Foreach-Schleife verwenden, um wiederholte Elemente in einem zweidimensionalen Array zu verarbeiten.

Die spezifische Methode lautet: Definieren Sie zunächst ein neues leeres Array und durchlaufen Sie dann jedes Unterarray im ursprünglichen Array mit einer foreach-Schleife, um festzustellen, ob es im neuen Array angezeigt wird Es wird dem neuen Array hinzugefügt. Der Code lautet wie folgt:

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$newArr = array();
foreach ($arr as $value) {
    if (!in_array($value, $newArr)) {
        $newArr[] = $value;
    }
}

print_r($newArr);

Im obigen Code verwenden wir die Funktion in_array(), um zu ermitteln, ob jedes Unterarray bereits im neuen Array vorhanden ist. Wenn nicht, fügen wir es dem neuen Array hinzu . Mitte.

Zusammenfassung

Doppelte Elemente in zweidimensionalen Arrays sind ein Problem, auf das wir in der Entwicklung häufig stoßen. In diesem Artikel werden zwei häufig verwendete Methoden vorgestellt: die Verwendung der Funktion array_unique() und die Verwendung einer foreach-Schleife. Ich hoffe, dass sie jedem helfen kann, dieses Problem leicht zu lösen. Unabhängig davon, welche Methode verwendet wird, muss sie entsprechend der tatsächlichen Situation ausgewählt werden, um die besten Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Elemente aus einem zweidimensionalen 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