php 二维数组值去重~

例:array(
array(a,b,c),

array(b,d,e),
array(a,e,f)

)
我最后想要的结果是 在原有结构没变化的情况下,
返回array(
array(c),

array(b,d),

array(a,e,f)

)
我这里补充下,希望大家仔细看看,实现方式我不管,结果如果能出来,贴个过程就可以,原理不用讲

第1个回答  2012-11-02
$a =
array(
array(a,b,c),

array(b,d,e),
array(a,e,f)

)
print_r(array(array_diff($a[0],$a[1],$a[2]),array_diff($a[1],$a[2]),$a[2]));

输出来的就是你要的答案
第2个回答  2012-11-02
那你也有可能输出的是array(a,b,c) array(d,e) array(f),
你这根本就没有规则啊追问

可以的,如果这样能实现也是可以~最终要的结果就是没有保持原有结果 但对应2d的数组内与其他数组没有重复的值

追答

你看我写的那个输出也是符合要求的,但是跟你要的输出不一样,你根本就没有具体的规则来表述你要的结果,你总不能指望代码智能自动执行吧

追问

你那个结果可以,我要的是具体逻辑处理部分,最终的结果就是去除重复值

追答

你还是没明白我的意思啊,你如果输出array(a,b,c,d,e,f)是可以的,你说的那种,输出的结果太多了,明白么?涉及到排列组合了

本回答被网友采纳
第3个回答  2012-11-02
计算数组差集函数array_diff,剩下的发挥你自己的想法 不是太难追问

比如有不确定量的数组呢? array_diff(arr1,arr2,arr3...),我不能一个个的写上吧,循环的时候也调不了函数,请问该如何解决,我觉得这个思路很好但具体实现还是有点问题,先谢谢了

追答

你可以count二维数组,然后用循环

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网