Php 数组_unique不会对数组重新排序

Php 数组_unique不会对数组重新排序,php,Php,我有一个数组,如下所示: $x = array("15","15","18","18","18","18","12","12"); 然后我想得到唯一的值,这将导致一个数组具有唯一的值,但键没有重新排序。我该怎么办?我不想把它放在循环中。我的建议是使用 array_values(array_unique($x)); 通过这种方式,首先清除数组中的重复值,然后将此数组返回给函数,最后数组值返回已过滤数组的重新排序数组。您可以使用以下方法重新索引数组: $x = array("15","15",

我有一个数组,如下所示:

$x = array("15","15","18","18","18","18","12","12");

然后我想得到唯一的值,这将导致一个数组具有唯一的值,但键没有重新排序。我该怎么办?我不想把它放在循环中。

我的建议是使用

array_values(array_unique($x)); 
通过这种方式,首先清除数组中的重复值,然后将此数组返回给函数,最后数组值返回已过滤数组的重新排序数组。

您可以使用以下方法重新索引数组:

$x = array("15","15","18","18","18","18","12","12");
$unique = array_values(array_unique($x));
print_r($unique);
您也可以使用该功能,正如mario在评论中所建议的:

$unique = array_unique($x);
sort($unique);
print_r($unique);
这两者都将输出:

Array
(
    [0] => 15
    [1] => 18
    [2] => 12
)