0

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

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

这方面的一个例子可能如下

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

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

我知道我可以通过遍历所有这些并单独检查每个来做到这一点。但如果可以的话,我真的很想避免这种情况。

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

4

2 回答 2

4

php中有很多数组函数。您想要array_intersect并且可以获得两个数组中列出的所有内容。

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

于 2013-10-09T14:52:37.860 回答
1
$needles = array(0 => 'Denmark', 1 => 'Sweden');
$haystack = array(0 => 'Denmark', 1 => 'Sweden', 2 => 'United States', 3 => 'Russia');
$found = array_intersect($haystack, $needles);

$found 然后是:

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

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

于 2013-10-09T14:57:41.960 回答