例: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]));
输出来的就是你要的答案
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二维数组,然后用循环