例如:
$arr = array(3,5,2,5,3,9);
我只想显示常见元素,即 3,5 作为输出。
尝试以下操作:
$arr = array(3,5,2,5,3,9);
foreach($arr as $key => $val){
//remove the item from the array in order
//to prevent printing duplicates twice
unset($arr[$key]);
//now if another copy of this key still exists in the array
//print it since it's a dup
if (in_array($val,$arr)){
echo $val . " ";
}
}
输出:
3 5
另外:
我猜你被要求自己实现它的原因(不使用内置函数)是为了避免像这样的答案:
$unique = array_unique($arr);
$dupes = array_diff_key( $arr, $unique );
这是我的尝试:
<?php
$arr = array(3,5,2,5,3,9);
$temp_array = array();
foreach($arr as $val)
{
if(isset($temp_array[$val]))
{
$temp_array[$val] = $val;
}else{
$temp_array[$val] = 0;
}
}
foreach($temp_array as $val2)
{
if($val2 > 0)
{
echo $val2 . ', ';
}
}
?>
- 输出 -
3、5、