我的问题是:

我有一个名为 $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/

10-12 15:31