
正文
php数据去除重复 php去重复文本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中一维或多维数组去除重复项
方案一
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_flip($arr);
$arr2 = array_flip($arr1);
print_r($arr2);
方案二
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$a = array_count_values($arr);
$b = array_keys($a);
print_r($b);
方案三
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
foreach($arr as $k=$v){
$arr1[$v] = $k;
$arr2 = array_flip($arr1);
}
print_r($arr2);
方案四
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_unique($arr);
print_r($arr1);
都是刚刚我实验出来的 都可以封装起来用递归实现多维去掉重复项
相关问答
Q1: PHP如何把这些数组 去除重复并且显示,再统计?求助!
?php
function array_unique_fb($array2D){
foreach ($array2D as $v){
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k = $v){
$temp[$k] = explode(",",$v); //再将拆开的数组重新组装
}
return $temp;
}
$aa = array(
array('id' = 123, 'name' = '张三'),
array('id' = 123, 'name' = '李四'),
array('id' = 124, 'name' = '王五'),
array('id' = 123, 'name' = '李四'),
array('id' = 126, 'name' = '赵六')
);
$bb=array_unique_fb($aa);
print_r($bb)
?
显示结果:Array ( [0] = Array ( [0] = 123 [1] = 张三 ) [1] = Array ( [0] = 123 [1] = 李四 ) [2] = Array ( [0] = 124 [1] = 王五 ) [4] = Array ( [0] = 126 [1] = 赵六 ) )
百度一下就找到答案了
Q2: 【php】合并多个数组并去掉相同的
php数据去除重复你是要把$tpid数组php数据去除重复的内容合并吗,可以先弄了一个空数组,for里面归并到这个空数组,for结束之后进行唯一处理,大致逻辑如下:
?php
$result=Array();
for($i=0;$i$num;$i++){
$tpid=$data[$i]['busitype'];
$tpid=explode(".",$tpid,-1);
print_r($tpid);
echo "br";
$result=array_merge($result,$tpid);
}
$result=array_unique($result);
?
补充:
那是array_merge的问题,重复的下标会被合并,你试试看使用array_merge_recursive吧,我无法测试程序,没有你的数据。
Q3: php如何删除两个数组中相同的元素
首先,我看到这个问题中描述是“如何删除两个数组中相同的元素”,虽然那个人写了一大堆,竟然用的是array_unique(),从分析到给出的demo一直在解决如何删除“一个”数组中“重复”的元素。汗!答非所问的答案竟然会被采纳。
这里,简单分析一下提问者的真实意图,分以下2种情况:
1.现在有2个一维数组, $arr1和$arr2,现在要删除 $arr1 中存在于 $arr2 的元素。
解决方案:使用array_diff对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值,代码如下:
?php
$arr1 = array(1, 2, 3, 4);
$arr2 = array(2, 4);
//这一句即可
$arr1 = array_diff($arr1,$arr2);
var_dump($arr1);
2.先声明一下,我看了lt318025大神给出的答案,他的思维非常活跃,已经分了2种情况。
现在有2个一维数组,$a和$b,即删除$a中存在于$b的元素,删除$b中$a存在的元素,组后合并返回。
可是lt318025大神用的PHP版本太高,给出的demo在低版本PHP下运行失败,这里修正一下:
?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在于$a但不存在于$b中的元素组成的数组
$c=array_diff($a,$b);
//这里简单求出在$a但不在$b中的元素
var_dump($c);
//得到存在于$a但不存在于$b中的元素组成的数组与存在于$b但不存在于$a中的元素组成的数组的并集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//这里彻底剔除了同时存在于$a和$b中的元素
var_dump($d);
究竟是哪一种情况,这需要看提问者的需求了。
Q4: php在数组里怎么去掉非重复的值,保留重复值
$array = [1,2,3,4,5,6,7,8,9,5,4,4,4,3,2];
$exist = [];
$repeat = [];
foreach($array as $v){
if(in_array($v,$exist)){
array_push($repeat,$v); //不存在php数据去除重复的放入exist中
}else{
array_push($exist,$v); //已存在php数据去除重复的放入repeat中
}
}
var_dump($repeat); //repeat即为重复php数据去除重复的数据
$unique_repeat = array_unique($repeat); //如果多次重复php数据去除重复的值只取一次,可以去重一下
var_dump($unique_repeat);
Q5: php 如何去除多维数组指定重复出现的值
array_unique
()
函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。
注意:被保留的数组将保持第一个数组项的键名类型
关于php数据去除重复和php去重复文本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







