问题在于:
我从我的数据库中检索以下数据字符串:
$row->exceptions = '1,2,3';
在explode
之后,我需要以下代码来检查每个爆炸件
$exceptions = explode(",", $row->exceptions);
//result is
//[0] => 1
//[1] => 2
//[2] => 3
for ($i = 0; $i <= $row->frequency; $i++) {
if ($exceptions[] == $i) {
continue;
} else {
//do something else
}
}
如何让$exceptions[]
遍历爆炸数组中的所有键,以便评估是否==$i
?
感谢您的帮助。
答案 0 :(得分:2)
足以代替:
if($exceptions[] == $i)
使用:
if(in_array($i,$exceptions))
顺便说一句,它消除了对嵌套循环的需要。
答案 1 :(得分:1)
啊,应该是直截了当的,不是吗?
$exceptions = explode(",", $row->exceptions);
for ($i = 0; $i <= $row->frequency; $i++) {
foreach($exceptions as $j){
if($j == $i){
// do something
break;
}
}
}
答案 2 :(得分:0)
我想我明白你在问什么。以下是如何在该循环中测试密钥是否等于$i
。
for ($i = 0; $i <= $row->frequency; $i++)
{
foreach ($exceptions as $key => $value)
{
if ($key == $i)
{
continue;
}
}
}