我正在尝试检查一个数组是否没有其他值,但是in_array()无法正常工作,所以我想in_array()无法完成;
例如
<?php
$arr1 = array(1,2,3,4,5,6);
$arr2 = array(1,2,9);
if(/*all values in $arr2 are in $arr1*/){
/*return true*/
}
else{
/*return false*/
}
/*this examle should return false*/
?>
或者
<?php
$arr1 = array(1,2,3,4,5,6);
$arr2 = array(1,2,6);
if(/*all values in $arr2 are in $arr1*/){
/*return true*/
}
else{
/*return false*/
}
/*this examle should return true*/
?>
我怎样才能做到这一点?
用这个
count($array) == count(array_intersect($array,$valid));
..或去想它;
$array == array_intersect($array,$valid);
请注意,
true
如果(string)$elementtocheck=(string)$validelement
从本质上讲仅可用于标量,则将产生此结果。如果您的数组(数组,对象)中包含更复杂的值,则此方法将无效。为了使这工作,我们改变了一点:sort($array);//order matters for strict sort($valid); $array === array_intersect($valid,$array);
...假设当前顺序无关紧要/
sort()
允许被调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句