我的问题是:
我有一个名为 $ownerArray 的数组,另一个数组需要检查它,如果两个数组中都存在一个键,则显示匹配键的值。 $ownerArray 由数据库填充,因此我不能只在 if 语句中编写 ir 语句。
$ownerArray 将如下所示:
$ownerArray = array(0 =>'Name0',1 =>'Name1',2 =>'Name2',3 =>'Name3');
然后我有另一个名为 $Users 的数组,它根据用户的选择具有不同数量的值,因此 $Users 可能如下所示:
$Users = '1,2'
或像这样:
$Users = '1,3'
$Users 永远不会相同。
但是我需要 $ownerArray 的 $value 来显示 $Users 的任何整数值是否与 $ownerArray 的任何 $key 匹配
例子:
foreach($ownerArray as $key => $value)
{
if(in_array($key,array($Users)))
{
print $value;
}
}
此方法在第一次匹配时停止并显示正确的名称。如果更多值匹配,则循环不会继续打印。
我要找的是如果 $Users = '1,3' 我的 for 循环将从 $ownerArray 打印 Name1 和 Name3。
谢谢您的帮助!
ps 我知道我可以使用 if($key==1 || $key ==2) 但这不适用于这种情况。
最佳答案
$merged = array_flip(array_intersect(array_flip($owners), explode(',', $users)));
关于php - 针对数组匹配多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10111775/