在单个数组中查找多个数组

时间:2013-12-01 22:18:53

标签: php arrays

$a = 'red';
$b = 'blue'; 
$colors = ['red', 'green', 'blue', 'black'];

我正在尝试检查$a中是否存在 <{strong> $b$colors 如果是,请返回true否则返回false

我显然可以做到

if(in_array($a, $colors) && in_array($b, $colors)){
  //true
}

但是,我希望有一个数组函数可以在通话中执行,或者任何比这更简单的方法。我试过array_intersect()无济于事。

2 个答案:

答案 0 :(得分:3)

array_intersect()应该有效,但您也可以尝试array_diff()。如果结果是空数组,则第一个数组的每个元素都在第二个数组中找到。

<?php
if(count(array_diff(array($a, $b), $colors)) == 0)
{
// Both found
}
?>

答案 1 :(得分:1)

$c = array($a, $b);
if (count(array_intersect($c, $colors)) === count($c)) {
     // ...
}