我有一个2D数组,它是这样简单:
[0] => Array
(
[0] => 6
[1] => 6
[2] => 6
)
[1] => Array
(
[0] => 6
[1] => 6
[2] => 11
)
[2] => Array
(
[0] => 6
[1] => 6
[2] => 6
)
当然,它们在另一个数组中。我想要删除索引[2]因为它和索引[0]有相同的值。我在这里和谷歌上搜索,但找不到如何解决这个问题。
查看带有SORT_REGULAR
标志的array_unique
array_unique($your_array, SORT_REGULAR);
不要太看重性能。
$dict = array();
foreach($your_data as $one_index){
$dict[join('',$one_index)]=$one_index;
}
$res=array();
foreach($dict as $one_index){
$res[] = $one_index;
}
var_dump($res);
如果您有许多具有许多值的子数组,我可以建议为每个子数组计算散列和。然后将该散列存储到一个新数组或作为子数组的一个元素。然后通过比较哈希和unset($foundArray)进行迭代;为匹配。
try this
function array_unique_recusive($arr){
foreach($arr as $key=>$value)
if(gettype($value)=='array')
$arr[$key]=array_unique_recusive($value);
return array_unique($arr,SORT_REGULAR);
}
这里提到的http://php.net/manual/en/function.array-unique.php