我在使用多个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