Heim  >  Artikel  >  tägliche Programmierung  >  Wie lösche ich doppelte Elemente in einem zweidimensionalen Array in PHP? (Bilder + Videos)

Wie lösche ich doppelte Elemente in einem zweidimensionalen Array in PHP? (Bilder + Videos)

藏色散人
藏色散人Original
2018-10-10 13:58:115614Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die spezifische Implementierungsmethode zum Löschen doppelter Elemente in einem zweidimensionalen Array in PHP vor!

Im vorherigen Artikel [Wie lösche ich doppelte Elemente in einem Array in PHP? ] hat Ihnen bereits die Methode zum Löschen gewöhnlicher eindimensionaler Arrays in PHP vorgestellt. Freunde, die sie benötigen, können sich zuerst darauf beziehen.

Einfach ausgedrückt ist ein zweidimensionales Array ein Array von Arrays. Sie benötigen zwei Indizes, um Elemente auszuwählen.

Im Folgenden stellen wir anhand konkreter Codebeispiele die Methode zum Löschen doppelter Elemente in einem zweidimensionalen Array detailliert vor!

<?php
/**
 * PHP删除二维数组中的重复元素
 */

// 对二维数组进行去重复
function more_array_unique($arr)
{
    //先把二维数组中的内层数组的键值记录在在一维数组中
    foreach ($arr[0] as $k => $v) {
        $arr_inner_key[] = $k;
    }
    foreach ($arr as $k => $v) {
        //降维 用implode()也行
        $v = join(",", $v);
        //保留原来的键值 $temp[]即为不保留原来键值
        $temp[$k] = $v;
    }
    //去重:去掉重复的元素
    $temp = array_unique($temp);
    foreach ($temp as $k => $v) {
        //拆分后的重组 如:Array( [0] => 张三 [1] => 18 )
        $a = explode(",", $v);
        //将原来的键与值重新合并
        $arr_after[$k] = array_combine($arr_inner_key, $a);
    }
    return $arr_after;
}

$arr = [
    [&#39;name&#39; => &#39;张三&#39;, &#39;age&#39; => 18],
    [&#39;name&#39; => &#39;Tom&#39;, &#39;age&#39; => 19],
    [&#39;name&#39; => &#39;Tom&#39;, &#39;age&#39; => 19],
    [&#39;name&#39; => &#39;张三&#39;, &#39;age&#39; => 50],
    [&#39;name&#39; => &#39;王小二&#39;, &#39;age&#39; => 30],
];
echo "<pre class="brush:php;toolbar:false">";
print_r(more_array_unique($arr));

In diesem Code definieren wir ein zweidimensionales Array von $arr, das zwei Paare wiederholter Elemente enthält, „Zhang San“ und „Tom“, deren Alter jedoch unterschiedlich ist.

Jeder sollte wissen, dass die Funktion array_unique() nur für eindimensionale Arrays gilt. Für zweidimensionale Arrays müssen wir also selbst eine Funktionsmethode definieren, aber die Funktion array_unique() kann auch verwendet werden.

Wie im obigen Codebeispiel haben wir die Methode more_array_unique definiert, um doppelte Elemente in einem zweidimensionalen Array zu löschen.

Hinweis:

Join-Funktion ist ein Alias ​​dieser Funktion: implode().

array_combine-Funktion: bedeutet, ein Array zu erstellen, indem der Wert eines Arrays als Schlüsselname und der Wert eines anderen Arrays als Wert verwendet wird.

array_unique-Funktion: entfernen das Array Doppelte Werte in .

Beim abschließenden Zugriff über den Browser sieht das Ergebnis des Löschens der doppelten Elemente des zweidimensionalen Arrays wie folgt aus:

Wie lösche ich doppelte Elemente in einem zweidimensionalen Array in PHP? (Bilder + Videos)

Wie in der Abbildung gezeigt, Wir verwenden die angepasste Methode more_array_unique, um vollständig doppelte Elemente aus einem zweidimensionalen Array zu entfernen und dabei nützliche Informationen beizubehalten.

In diesem Artikel geht es um die spezielle Methode zum Löschen doppelter Elemente in einem zweidimensionalen Array in PHP. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Wenn Sie mehr über PHP erfahren möchten, können Sie der chinesischen PHP-Website folgen PHP-Video-Tutorial, jeder ist herzlich willkommen, sich darauf zu beziehen und zu lernen!

Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Elemente in einem zweidimensionalen Array in PHP? (Bilder + Videos). 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