我在使用多個in_array時出現問題foreach()
loop, 我想找到說金屬和產品ID匹配給定的m(金屬),p(產品)的關鍵。In_array在foreach中
的代碼是:
$arr = array(
0 =>array(
'metal'=>0,
'prod'=>0
),
1 =>array(
'metal'=>1,
'prod'=>1
),
2 =>array(
'metal'=>2,
'prod'=>2
),
3 =>array(
'metal'=>3,
'prod'=>3
)
);
$m=1;$p=1;
foreach($arr as $k => $v)
{
//print_r($v);
foreach($v as $r) {
if(in_array($m,$v) && in_array($p,$v)) {
echo $k;
echo '<br>';
}
else {
echo 'no';
echo '<br>';
}
}
}
輸出:
no
no
1
1
no
no
no
no
所以對於第0,第2,第3陣列它沒有給,並在那裏發現的價值它給,鑰匙,我想獲取密鑰,對於兩個in_array組合(只有在in_array都爲真時,才應回顯密鑰)。並且一旦它發現它應該破裂,所以它不會去其他地方。 我嘗試使用中斷,但它沒有按預期工作。
該OP的邏輯是有缺陷的,你不應該這樣使用'in_array'。 – ArtisticPhoenix