-
01月04日
-
【函数功能】
该函数移除数组中的重复的值,并返回结果数组。
【函数语法】
array_unique (array $array, $sort_flags = null)
【参数说明】
参数 描述 array 必需。规定数组。 sortingtype 可选。规定如何比较数组元素/项目。可能的值:
- SORT_STRING - 默认。把项目作为字符串来比较。
- SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。
- SORT_NUMERIC - 把每一项作为数字来处理。
- SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
【演示程序】
<?php /** * array_unique (array $array, $sort_flags = null) * **/ $array = array('site_name'=>'PHP1234','site_url'=>'php1234.cn','site_auth'=>'明礼馨德','ext'=>'明礼馨德','明礼馨德',1,1,2,2); var_dump(array_unique($array)); echo '<br>'; var_dump(array_unique($array,SORT_NUMERIC)); ?>
【输出结果】
array(5) { ["site_name"]=> string(7) "PHP1234" ["site_url"]=> string(10) "php1234.cn" ["site_auth"]=> string(12) "明礼馨德" [1]=> int(1) [3]=> int(2) } array(3) { ["site_name"]=> string(7) "PHP1234" [1]=> int(1) [3]=> int(2) }
【特别注意】
1.当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。 2.返回的数组中键名不变。 3.被保留的数组将保持第一个数组项的键名类型。 4.先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。 5.PHP 版本:4.0.1+。 6.更新日志: 在 PHP 5.2.10 中,sortingtype 的默认值改回 SORT_STRING。 在 PHP 5.2.9 中,sortingtype 的默认值改为 SORT_REGULAR。在这之前的版本,sortingtype 的默认值为 SORT_STRING。
【原版定义】
/** * Removes duplicate values from an array * @link http://www.php.net/manual/en/function.array-unique.php * @param array array <p> * The input array. * </p> * @param sort_flags int[optional] <p> * The optional second parameter sort_flags * may be used to modify the sorting behavior using these values: * </p> * <p> * Sorting type flags: * SORT_REGULAR - compare items normally * (don't change types) * @return array the filtered array. */
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/functions/2017/0104/177.html