Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie schnell ein zweidimensionales Array in PHP

So entfernen Sie schnell ein zweidimensionales Array in PHP

王林
王林Original
2023-05-19 13:28:37790Durchsuche

Bei der Entwicklung von PHP ist es häufig erforderlich, Daten zu verarbeiten, z. B. Deduplizierung, Sortierung, Filterung usw. Unter diesen ist die Verarbeitung zweidimensionaler Arrays eine sehr häufige Operation. Wie kann man also schnell doppelte Daten in einem zweidimensionalen Array entfernen? Im Folgenden stellen wir Ihnen verschiedene Implementierungsmethoden vor.

Methode 1: Verwenden Sie die Funktion array_unique(). Die Funktion array_unique() kann doppelte Daten im Array schnell entfernen. Die spezifische Implementierungsmethode lautet wie folgt:

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$newArray = array_map("serialize", $array);
$newArray = array_unique($newArray);
$newArray = array_map("unserialize", $newArray);

print_r($newArray);

Ausgabeergebnis:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )
)

Methode 2: Schleifendurchquerung verwenden

Schleife, um das Array zu durchlaufen, jedes Subarray mit dem vorherigen Subarray zu vergleichen und es zu löschen, wenn sie identisch sind. Die spezifische Code-Implementierung lautet wie folgt:

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

for($i = 0; $i < count($array) - 1; $i++){
    for($j = $i + 1; $j < count($array); $j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}

print_r($array);

Ausgabeergebnis:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )

)

Methode 3: Funktion array_walk() verwenden

Mit der Funktion array_walk() können wir die Funktion für die Verarbeitung von Arrays anpassen. Die spezifische Implementierungsmethode lautet wie folgt:

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$tempArr = array();
array_walk($array, function($value, $key) use (&$tempArr) {
    if(!in_array($value, $tempArr)){
        array_push($tempArr, $value);
    }
});

print_r($tempArr);

Ausgabeergebnis:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )

)

Die oben genannten sind drei Methoden, um doppelte Daten in zweidimensionalen Arrays schnell zu entfernen. Die konkret zu verwendende Methode hängt von der tatsächlichen Situation ab. Wenn es sich nur um eine einfache Deduplizierung handelt, können Sie die Funktion array_unique() verwenden; wenn die Datenmenge relativ klein ist, können Sie die Schleifendurchquerung verwenden; wenn die Datenmenge groß ist, können Sie die Funktion array_walk() verwenden.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie schnell ein zweidimensionales 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