Jer*_*ten 230
例:
$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
chi*_*him 22
//Find duplicates
$arr = array(
'unique',
'duplicate',
'distinct',
'justone',
'three3',
'duplicate',
'three3',
'three3',
'onlyone'
);
$unique = array_unique($arr);
$dupes = array_diff_key( $arr, $unique );
// array( 5=>'duplicate', 6=>'three3' 7=>'three3' )
// count duplicates
array_count_values($dupes); // array( 'duplicate'=>1, 'three3'=>2 )
Run Code Online (Sandbox Code Playgroud)
nim*_*mas 19
使用 array_values(array_unique($array));
array_unique
:对于唯一数组
array_values
:用于重建索引
唯一对我有用的是:
$array = array_unique($array, SORT_REGULAR);
Run Code Online (Sandbox Code Playgroud)
编辑:SORT_REGULAR
保持原始数组的顺序。
$result = array();
foreach ($array as $key => $value){
if(!in_array($value, $result))
$result[$key]=$value;
}
Run Code Online (Sandbox Code Playgroud)
有时array_unique()
不是这样,如果你想得到独特的和重复的项目 ......
$unique=array("","A1","","A2","","A1","");
$duplicated=array();
foreach($unique as $k=>$v) {
if( ($kt=array_search($v,$unique))!==false and $k!=$kt )
{ unset($unique[$kt]); $duplicated[]=$v; }
}
sort($unique); // optional
sort($duplicated); // optional
Run Code Online (Sandbox Code Playgroud)
结果
array ( 0 => '', 1 => 'A1', 2 => 'A2', ) /* $unique */
array ( 0 => '', 1 => '', 2 => '', 3 => 'A1', ) /* $duplicated */
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
204952 次 |
最近记录: |