我的問題是:對數組匹配多個值
我呼籲$ 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