首页 > 后端开发 > php教程 > 请教大神,php怎么数组去掉重复值?

请教大神,php怎么数组去掉重复值?

WBOY
发布: 2016-06-23 13:58:50
原创
749 人浏览过

举例

$array=array(1,2,3,3)

经过程序处理,一旦知道又重复数据,就删除,

最后结果我需要array(1,2),因为3重复了


回复讨论(解决方案)

数组值3也不要吗

数组值3也不要吗


是啊

array_unique()啊

$arr = array(1,2,3,3);
$str = implode('',$arr);
$arrres = array_unique($arr);
foreach($arrres as $k=>$v)
{
$num = substr_count($str,$v);
if($num == 1)
{
$res[] = $v;
}
}
print_r($res);

$array = array(1,2,3,3);$t = array_diff($array,  array_keys(    array_filter(      array_count_values($array), function($v) { return $v>1;})    )  );print_r($t);
登录后复制
登录后复制
登录后复制
Array
(
[0] => 1
[1] => 2
)

$arr = array(1,2,3,3);
$str = implode('',$arr);
$arrres = array_unique($arr);
foreach($arrres as $k=>$v)
{
$num = substr_count($str,$v);
if($num == 1)
{
$res[] = $v;
}
}
print_r($res);

谢谢你提供的思路,但是代码好像可以简单点: $arr = array(1,2,3,3);
$str = implode('',$arr);
foreach($arr as $k=>$v)
{
$num = substr_count($str,$v);
if($num == 1){
$res[] = $v;
}
}
print_r($res);
?>,

$array = array(1,2,3,3);$t = array_diff($array,  array_keys(    array_filter(      array_count_values($array), function($v) { return $v>1;})    )  );print_r($t);
登录后复制
登录后复制
登录后复制
Array
(
[0] => 1
[1] => 2
)

和我想的一样

$array = array(1,2,3,3);$t = array_diff($array,  array_keys(    array_filter(      array_count_values($array), function($v) { return $v>1;})    )  );print_r($t);
登录后复制
登录后复制
登录后复制
Array
(
[0] => 1
[1] => 2
)



版主牛B

稍稍简化一下

$array = array(1,2,3,3);$t = array_diff($array,  array_keys(    array_diff(      array_count_values($array), array(1))    )  );print_r($t);
登录后复制

$array=array(1,2,3,3);
$a=array_count_values($array);
$item=array();
foreach($a as $k=>$v) if($v==1) $item[]=$k;
print_r($item);

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板