php数组\唯一排序行为

php数组\唯一排序行为,php,array-unique,Php,Array Unique,我正在检查array_unique函数。手册上说,它还将对值进行排序。但我看不出它在对值进行排序。请看我的示例代码 $input = array("a" => "green", 3=>"red", "b" => "green", 1=>"blue", "red"); print_r($input); $result = array_unique($input,SORT_STRING); print_r($result); The output is Array (

我正在检查array_unique函数。手册上说,它还将对值进行排序。但我看不出它在对值进行排序。请看我的示例代码

$input = array("a" => "green", 3=>"red", "b" => "green", 1=>"blue", "red");
print_r($input);
$result = array_unique($input,SORT_STRING);
print_r($result);

The output is

Array
(
    [a] => green
    [3] => red
    [b] => green
    [1] => blue
    [4] => red
)
Array
(
    [a] => green
    [3] => red
    [1] => blue
)
此处未对数组$result进行排序。感谢您的帮助

多谢各位 Pramod

并没有说它将对数组元素进行排序,而是说
sort_flags
参数修改排序行为

可选的第二个参数sort_flags可用于修改 使用以下值排序行为:[……]

排序行为用于对数组值进行排序,以便执行比较并确定一个元素是否与另一个元素相等。它不会修改基础数组的顺序

如果要对数组进行排序,则必须将其作为单独的操作进行排序。可以找到有关数组排序的文档

对于基于数组值的默认升序排序,可以使用。

array\u unique:

获取一个输入数组并返回一个没有重复值的新数组

请注意,关键点是保留的。array_unique()首先对作为字符串处理的值进行排序,然后将保留每个值遇到的第一个键,并忽略以下所有键

您可以尝试以下方法以获得结果:

<?php 
$input = array("a" => "green", 3=>"red", "b" => "green", 1=>"blue", "red");
print_r($input);
$result = array_unique($input);
print_r($result);
asort($result);
print_r($result);

array\u unique
获取一个输入数组并返回一个没有重复值的新数组。它实际上不排序。在

上阅读更多信息手册没有说它是排序值,第二个参数用于比较项目。感谢Suchit的澄清。我有点困惑。我不知道你的第一语言是不是英语。我的是,我觉得描述令人困惑。不过,上面显示的示例非常好。