【发布时间】:2010-09-18 12:43:20
【问题描述】:
您还能如何比较两个数组($A 和 $B)并从第一个数组中减少匹配元素,以便为数组 $A 上的下一个循环做准备?
$A = array(1,2,3,4,5,6,7,8);
$B = array(1,2,3,4);
$C = array_intersect($A,$B); //equals (1,2,3,4)
$A = array_diff($A,$B); //equals (5,6,7,8)
这是最简单的方法,还是有办法使用我没有想到的其他功能?我的目标是拥有一个可以循环的数组,提取相关内容组(我在其他地方定义了这些关系),直到数组返回 false。
【问题讨论】:
-
可能是我,但我认为问题不是很清楚。当我读到它时,您只对 array_diff($A,$B) 感兴趣(这看起来很简单)。还是 $C 的计算也必不可少? (如果是这样,您可以使用 array_diff($A,$C) 代替 array_diff($A,$B)。)
-
不,我声明 $C 是 $A 和 $B 的交集