Php 返回数组_intersect作为布尔值

Php 返回数组_intersect作为布尔值,php,Php,我有两个数组,我需要检查它们是否有共同的值,返回值必须是布尔值。 我可以这样使用array\u intersect(),还是有更好的方法 $result = (bool) array_intersect($array1, $array2); 多谢各位 计算相交的值: $result = count(array_intersect($array1, $array2)) !== 0; 只需检查array\u intersect($array1,$array2) 如果一个值 $marks = ar

我有两个数组,我需要检查它们是否有共同的值,返回值必须是布尔值。 我可以这样使用
array\u intersect()
,还是有更好的方法

$result = (bool) array_intersect($array1, $array2);

多谢各位

计算相交的值:

$result = count(array_intersect($array1, $array2)) !== 0;

只需检查
array\u intersect($array1,$array2)

如果一个值

$marks = array(100, 65, 70, 87); 
$sparks = array(100, 40, 20, 200);  
if (in_array($sparks[0], $marks))  // can make this dynamic too, returns bool
  { 
  echo "found"; 
  } 
else
  { 
  echo "not found"; 
  } 

是的,你的代码可以正常工作。当强制转换为布尔值时,空数组被视为false,而其中包含任何元素的数组(即
count($array)>0
)将被视为true。从:

转换为布尔值时,以下值被视为FALSE
...
-具有零元素的数组
...
所有其他值均视为(包括任何资源和NAN)


所有值?它取决于数组的构建方式。。。如果您使用的是多维数组,那么它将失败。
$marks = array(100, 65, 70, 87); 
$sparks = array(100, 40, 20, 200);  
if (in_array($sparks[0], $marks))  // can make this dynamic too, returns bool
  { 
  echo "found"; 
  } 
else
  { 
  echo "not found"; 
  }