php多个数组值in_array

时间:2014-06-05 18:50:58

标签: php arrays

我不确定是否可以使用in_array进行此操作。我需要的是验证数组中是否存在所有给定值。例如:

$a = array(1,2,3,4,5,6,7,8,9,10)
$b = array(1,2,3);

if(in_array($b, $a)) {
   return true
} else {
  return false
}

请注意,$ b中的所有值必须存在于$ a中才能返回true。

3 个答案:

答案 0 :(得分:0)

试试这个:

function arrayExists($needle, $haystack) {
    return sizeof(array_intersect($needle, $haystack)) == sizeof($needle);
}
如果针阵列具有重复值,

也可以使用此选项:

function arrayExists($needle, $haystack) {
    return sizeof(array_intersect(array_unique($needle), array_unique($haystack))) == sizeof(array_unique($needle));
}

答案 1 :(得分:0)

<{3}}的

重复

使用 Here

$arr1 = array(1,2,3);
$arr2 = array(1,2,3,4,5,6,7);
$arr3 = array_diff($arr1, $arr2);
if (count($arr3) == 0) {
  // all of $arr1 is in $arr2
}

答案 2 :(得分:0)

$a = array(1,2,3,4,5,6,7,8,9,10);
$b = array(1,2,3);

if(!array_diff($b, $a)) {
   echo '$b is subset of $a';
} else {
  echo '$b isn`t subset of $a';
}