去除数组中重复的值

xk_520 2011-04-25 05:31:02
Array ( [0] => legANumber [1] => 65123456 [2] => 65123456 [3] => 6567943176 [4] => 6594238827 [5] => 6565560595 [6] => 6594238827 [7] => 6565600623 ) 怎么循环 才能 实现 Array ( [0] => legANumber [1] => 6567943176 [2] => 6565560595 [3] => 6565600623 )
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImN1 2011-04-25
  • 打赏
  • 举报
回复
嘿嘿,不需要循环的

$arr = array('legANumber',65123456,65123456,6567943176,6594238827,6565560595,6594238827,6565600623);
$arr1 = array_unique($arr);
$arr2 = array_diff_assoc($arr,$arr1);
$arr3 = array_diff($arr,$arr2);
$arr4 = array_values($arr3);
var_dump($arr4);

xk_520 2011-04-25
  • 打赏
  • 举报
回复
谢谢你了 马上结贴
乌镇程序员 2011-04-25
  • 打赏
  • 举报
回复
又一次感受到PHP强大的数组处理能力,连array_count_values()这样的函数都有。。。
xk_520 2011-04-25
  • 打赏
  • 举报
回复
我自己写的

$numberarray=array('legANumber',65123456,65123456,6567943176,6594238827,6565560595,6594238827,6565600623);
$
$one=array_count_values($numberarray);
print_r($one);
//$xuke=array_flip($numberarray);
//echo count($xuke);
$numberarrayes = array();
foreach ($one as $key=> $value){
echo'xx';
echo $value;
if($value==1){
$numberarrayes[]=$key;
}
}

print_r($numberarrayes);
乌镇程序员 2011-04-25
  • 打赏
  • 举报
回复
抱歉,没看仔细。。
$arr = array('legANumber',65123456,65123456,6567943176,6594238827,6565560595,6594238827,6565600623);
$arrKeys = array();
echo "<pre>\n";
foreach($arr as $val) {
if (!isset($arrKeys[$val])) $arrKeys[$val] = 1;
else $arrKeys[$val]++;
}
print_r($arrKeys);
foreach($arr as $key => $val) {
if ($arrKeys[$val] > 1) unset($arr[$key]);
}
$arr = array_values($arr);
print_r($arr);
xk_520 2011-04-25
  • 打赏
  • 举报
回复
我要的不是这样的 $arr = array_unique($arr); 结果是
rray ( [0] => legANumber [1] => 65123456 [2] => 6567943176 [3] => 6594238827 [4] => 6565560595 [5] => 6565600623 )

和我的 要求不符合
乌镇程序员 2011-04-25
  • 打赏
  • 举报
回复
$arr = array(此处省略...);
$arr = array_unique($arr);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧