我有两个数组,一个是我的define数组,另一个是数据库中的进程。有没有正确的方法来比较这些数组?
来自数据库:
$user_type = [0 => "public" 1 => "10x413" 2 => "12x432"]
定义数组:
$specificUser = ['10x410','10x411','10x412','10x413','10x414']
如果任何元素匹配,则返回true,就像php in_array()
函数一样。
答案 0 :(得分:1)
只需循环并检查,就像使用in_array()
获取匹配的值一样:
foreach($specificUser as $value) {
if(in_array($value, $user_type)) {
echo $value;
//break; to stop checking, a match was found, or not to continue and see more
}
}
或者只测试任何比赛:
if(array_intersect($specificUser, $user_type)) {
// it's true :-)
}
答案 1 :(得分:0)
我确信之前已经问过并回答过,但这是一个解决方案:
array() !== array_intersect($user_types, $specific_users);
注意:使用严格比较来比较数组元素,因此只有当两个元素的类型和相同时,才认为它们是匹配的。