所有
我有一堆数据,例如1、2、3、4、5、6、7、8、9、10
然后我将这些数据分为2组
$groupA = range(1, 5)
$groupB = range(6, 10)
例如,我有$data = array(1,4),它将返回它属于组A.同样,
$data = array(7,8),它将返回给我B组.
那么,如何编写脚本让$data = array(1、4、6、7)返回A组和B组呢?
谢谢
解决方法:
您可能要使用array_intersect
:
$groupA = range(1, 5);
$groupB = range(6, 10);
$data = array(1, 4, 6, 7);
$foundGroups = array();
if(array_intersect($data, $groupA))
$foundGroups[] = 'A';
if(array_intersect($data, $groupB))
$foundGroups[] = 'B';
print_r($foundGroups);
请注意,当an empty array evaluates to false
包含至少一个元素时,其值为true.
警告:如果您需要处理包含许多元素的多个组,则可能需要使用手动方法并停在找到的第一个常见元素上. array_intersect查找所有常见元素,您实际上并不需要它.