鉴于此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
我已经看到这与模数完成但无法使它在这里工作。有人有建议吗?
谢谢!
答案 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
);
}