array_unique
移除数组中重复的值
&reftitle.description;
arrayarray_unique
arrayarray
intflagsSORT_STRING
array_unique 接受
array 作为输入并返回没有重复值的新数组。
注意键名保留不变。如果在指定了 flags 时存在多个相等的元素,会保留第一个相等的元素的键(key)和值(value)。
当且仅当 (string) $elem1 === (string) $elem2
时两个单元被认为相同。例如,字符串表达一样时,会使用首个元素。
&reftitle.parameters;
array
输入的数组。
flags
第二个可选参数flags 可用于修改比较行为:
比较类型标记:
SORT_REGULAR - 按照通常方法比较(不修改类型)
SORT_NUMERIC - 按照数字形式比较
SORT_STRING - 按照字符串形式比较
SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较。
&reftitle.returnvalues;
返回过滤后的数组。
&reftitle.changelog;
&Version;
&Description;
7.2.0
如果 flags 是 SORT_STRING,
之前会复制 array 并移除非唯一数组(之后并不打包数组),
现在是通过添加唯一元素来生成新数组。这可能会导致不同的数字索引。
&reftitle.examples;
array_unique 示例
"green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);
?>
]]>
&example.outputs;
green
[0] => red
[1] => blue
)
]]>
array_unique 和类型
]]>
&example.outputs;
int(4)
[2] => string(1) "3"
}
]]>
&reftitle.notes;
注意,array_unique 不能应用于多维数组。
&reftitle.seealso;
array_count_values