In the development of PHP, it is often necessary to process data, such as deduplication, sorting, filtering, etc. Among them, processing two-dimensional arrays is a very common operation. So, how to quickly remove duplicate data in a two-dimensional array? Below we will introduce you to several implementation methods.
Method 1: Use array_unique() function
array_unique() function can quickly remove duplicate data in the array. The specific implementation method is as follows:
$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);
Output result:
Array ( [0] => Array ( [id] => 1 [name] => 小明 ) [1] => Array ( [id] => 2 [name] => 小红 ) )
Method 2: Use loop traversal
Loop through the array, compare each sub-array with the previous sub-array, and delete it if they are the same. The specific code implementation is as follows:
$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);
Output result:
Array ( [0] => Array ( [id] => 1 [name] => 小明 ) [1] => Array ( [id] => 2 [name] => 小红 ) )
Method 3: Use the array_walk() function
The array_walk() function allows us to customize the function for processing arrays. The specific implementation method is as follows:
$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);
Output results:
Array ( [0] => Array ( [id] => 1 [name] => 小明 ) [1] => Array ( [id] => 2 [name] => 小红 ) )
The above are three methods to quickly remove duplicate data in two-dimensional arrays. The specific method to use depends on the actual situation. If it is just simple deduplication, you can use the array_unique() function; if the amount of data is relatively small, you can use loop traversal; if the amount of data is large, you can use the array_walk() function.
The above is the detailed content of How to quickly remove a two-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!