我不确定是否可以使用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。
答案 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)
重复。
使用 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';
}