我希望在PHP中获得一个解决方案,以获得基于子数组库的唯一数组。喜欢这个
Array
(
[0] => Array
(
[0] => 1227
[1] => 146
[2] => 1
[3] => 39
)
[1] => Array
(
[0] => 1227
[1] => 146
[2] => 1
[3] => 39
)
[2] => Array
(
[0] => 1228
[1] => 146
[2] => 1
[3] => 39
)
)
到
Array
(
[0] => Array
(
[0] => 1227
[1] => 146
[2] => 1
[3] => 39
)
[1] => Array
(
[0] => 1228
[1] => 146
[2] => 1
[3] => 39
)
)
我的意思是说array[1]
应该被移除array[0]
而array[1]
是相同的。我尝试使用array_unique
,但它对我不起作用。
答案 0 :(得分:14)
这可以使用array_unique
完成,但您还需要使用SORT_REGULAR
(PHP 5.2.9+)标记:
$array = array(
array(1227, 146, 1, 39),
array(1227, 146, 1, 39),
array(1228, 146, 1, 39),
);
$array = array_unique($array, SORT_REGULAR);
输出:
Array
(
[0] => Array
(
[0] => 1227
[1] => 146
[2] => 1
[3] => 39
)
[2] => Array
(
[0] => 1228
[1] => 146
[2] => 1
[3] => 39
)
)
对于旧版本的PHP,您可以在问题评论中使用我链接到的solution:
$array = array_map("unserialize", array_unique(array_map("serialize", $array)));
希望这有帮助!