Heim > Artikel > Backend-Entwicklung > So entfernen Sie schnell ein zweidimensionales Array in PHP
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!