>백엔드 개발 >PHP 튜토리얼 >请问大神,php如何数组去掉重复值?

请问大神,php如何数组去掉重复值?

WBOY
WBOY원래의
2016-06-13 11:54:47974검색

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

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

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

最后结果我需要array(1,2),因为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);<br />$t = array_diff($array,<br />  array_keys(<br />    array_filter(<br />      array_count_values($array), function($v) { return $v>1;})<br />    )<br />  );<br />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);<br />$t = array_diff($array,<br />  array_keys(<br />    array_filter(<br />      array_count_values($array), function($v) { return $v>1;})<br />    )<br />  );<br />print_r($t);
Array
(
    [0] => 1
    [1] => 2
)
和我想的一样
------解决方案--------------------
稍稍简化一下
$array = array(1,2,3,3);<br />$t = array_diff($array,<br />  array_keys(<br />    array_diff(<br />      array_count_values($array), array(1))<br />    )<br />  );<br />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);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.