PHP for循环 - 如何逃避第一次迭代?

时间:2011-05-07 18:53:51

标签: php loops for-loop iteration

鉴于此PHP for循环

$row->frequency = 1;
$row->date_1 = 10000;
$row->interval = 86400;


    for ($i = 0; $i <= $row->frequency; $i++) {

        $cal_data[] = array(

            'start' => strtotime($row->date_1) + $row->interval,

            );
    }

我希望循环的第一次迭代忽略+ $row->interval给我的结果:

10000
96400

我已经看到这与模数完成但无法使它在这里工作。有人有建议吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

使用+ ($i ? $row->interval : 0)

换句话说,如果$i为零 - 第一次迭代 - 添加0而不是$row->interval。这是三元运算符(condition ? iftrue : iffalse),它大致相当于if/else构造,除了它可以在一个语句中使用。

答案 1 :(得分:1)

for ($i = 0; $i <= $row->frequency; $i++) {
    if ($i == 0) {
          $val = strtotime($row->date_1) ;
    } else {
       $val = strtotime($row->date_1) + $row->interval;
    }
    $cal_data[] = array(

        'start' => $val

        );
}