PHP爆炸 - 在每个数组项中运行循环

时间:2011-05-08 05:32:28

标签: php loops explode

问题在于:

我从我的数据库中检索以下数据字符串:

$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

感谢您的帮助。

3 个答案:

答案 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;
    }
  }
}