我的问题是:对数组匹配多个值
我呼吁$ ownerArray另一个阵列需要核对,如果一个键存在于两个数组显示匹配项的值的数组。 $ ownerArray由数据库填充,所以我不能在if语句中写一个ir语句。
$ ownerArray看起来就像这样:
$ownerArray = array(0 =>'Name0',1 =>'Name1',2 =>'Name2',3 =>'Name3');
然后我有另一个阵列称为具有取决于用户选择什么不同数量的值$用户,所以$用户看起来是这样的:
$Users = '1,2'
或像这样:
$Users = '1,3'
$用户是绝不相同。
但我需要$ ownerArray的$值时显示任何的$的值的整数的用户匹配的$ ownerArray
实施例任何$键:
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),但这不适用于这种情况。
一个衬垫FTW! – rdlowrey 2012-04-11 18:43:44
我一直都在做这种事情。 +1 – 2012-04-11 18:45:21
'$ merged = array_flip(array_intersect(array_flip($ owners),explode(',',$ user)));'no spacer FTW – 2012-04-11 18:45:24