检查至少一个数组值是否在另一个数组PHP中

时间:2013-10-09 14:49:50

标签: php arrays

我有一个包含350个值的数组(从API中收集)。

现在为了过滤我允许用户选择未知数量的国家。

这方面的一个例子可能是以下

$countries = array
(
    0 => 'Denmark',
    1 => 'Sweden',
    2 => 'United states',
    3 => 'Norway'
);

现在我想检查至少其中一个值是否在我的数据数组中

我知道我可以通过遍历所有这些并单独检查每个来完成此操作。但如果我真的想避免这种情况。

那么有没有办法在PHP中做这样的事情?

2 个答案:

答案 0 :(得分:4)

php中有很多数组函数。你想要array_intersect,你可以获得两个数组中列出的所有数据。

http://www.php.net/manual/en/function.array-intersect.php

答案 1 :(得分:1)

$needles = array(0 => 'Denmark', 1 => 'Sweden');
$haystack = array(0 => 'Denmark', 1 => 'Sweden', 2 => 'United States', 3 => 'Russia');
$found = array_intersect($haystack, $needles);
然后找到

$:

array(2) {
  [0]=>
  string(7) "Denmark"
  [1]=>
  string(6) "Sweden"
}

您真的需要阅读手册:http://www.php.net/manual/en/function.array-intersect.php