【发布时间】:2011-01-19 06:03:51
【问题描述】:
我有 2 个数组,值将从数据库中加载,下面是一个示例:
$arr1 = array(1,2,3);
$arr2 = array(1,2,3,4,5,6,7);
我要做的是检查$arr1 中的所有值 是否存在于$arr2 中。上面的例子应该是TRUE while:
$arr3 = array(1,2,4,5,6,7);
比较$arr1 和$arr3 将返回FALSE。
通常我使用in_array,因为我只需要将单个值检查到数组中。但在这种情况下,in_array 不能使用。我想看看是否有一种简单的方法可以用最少的循环进行检查。
更新说明。
第一个数组将是一个包含唯一值的集合。第二个数组可以包含重复的值。在处理之前,它们都保证是一个数组。
【问题讨论】:
-
可能值得澄清:您是否在寻找正常的“设置”语义?如果第二个数组是 array(1,2,4,3),你会期待什么结果?如果第一个是数组(1,1,1,1)怎么办?还是它们是非法的?