检查PHP数组中是否存在多个值

22

我在PHP中有一个数组

$permission = array( "admin", "moderator", "guest"  );

我有另一个数组

$userRoles = array( "admin", "moderator" );

我使用了in_array来检查多个值,但它不能用于检查多个值。

如何不使用循环就能检查$userRoles中至少有一个值存在于$permission中?

先行感谢。

2个回答

40

5
除非你真的需要计算数量,否则不需要调用count()。你只需使用if (array_intersect($permission, $userRoles)) ...即可。 - orrd

13

使用array_intersect

array_intersect — 计算数组的交集

array array_intersect ( array $array1 , array $array2 [, array $ ... ] )

array_intersect() 返回一个包含所有参数中都存在于array1中的值的数组。注意键名保留不变。

阅读


2
@Red 谢谢伙计...我不仅想给出解决方案,还想让你学习。 - Dipesh Parmar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接