我有這樣如何在PHP數組中找到重複值?
$a=array(0=>1,1=>1,2=>5,3=>5,4=>10)
數組現在我想找出重複值,並在它們加入一個這樣的數組:
array_push($arrayOfones,$a['0'],$a['1'];
array_push($arrayOfFive,$a['2'],$a['5'];
我有這樣如何在PHP數組中找到重複值?
$a=array(0=>1,1=>1,2=>5,3=>5,4=>10)
數組現在我想找出重複值,並在它們加入一個這樣的數組:
array_push($arrayOfones,$a['0'],$a['1'];
array_push($arrayOfFive,$a['2'],$a['5'];
$a=array(0=>1,1=>1,2=>5,3=>5,4=>10);
$c=0;
foreach ($a as $key => $row) {
if (!isset($rs[$row])) {
$rs[$row][$key]= $key;
$c = 1;
$res[$row]['count'] = $c;
$res[$row]['values'][$key] = $key;
}
else {
$res[$row]['count']++;
$res[$row]['values'][$key] = $key;
}
}
你可以看看array_count_values
$ret = array_count_values($a);
// get the duplicate values
$ret = array_filter($ret, function ($var) {
return $var > 1;
});
array_walk($ret, function(&$var, $key) {
$var = array_fill(0, $var, $key);
});
var_dump($ret); // $ret[1] is $arrayOfOnes, $ret[5] is $arrayOfFive
稍微簡單一點,除了count()之外沒有數組函數:
foreach($a as $key=>$value){
$ip[$value][] = $key;
}
foreach($ip as $key=>$inner_arr){
if(count($inner_arr) > 1)
$dup[$key] = $inner_arr ;
}
'$ a ['0']','$ a ['1']','$ a ['2']'和'$ a ['5']'無效顯示在您的代碼 –
['array_count_values'](http://php.net/array_count_values)? – deceze