仅为for循环中的第一次迭代分配变量值

时间:2019-02-19 15:50:53

标签: php for-loop

我正在使用for循环,并且遇到了一些问题。下面是示例:

<tr>
    <td class="tg-031e">3:00</td>
    <?php for ($i=0; $i < $total_staff; $i++) {
        $chk = $this->general_model->check_for_temp_color('3:00', $selected_dt);
    ?>
        <td class="tg-031e text-right availablepopup"></td>
    <?php } ?>
</tr>

现在让我们说$chk的值可以是以下之一:1或2。如果为1,则仅为i == 1分配类别,如果为2,则为i == 1分配类别,并且i == 2。

希望这很容易理解!

2 个答案:

答案 0 :(得分:1)

您可以这样做:

for ($i=0; $i < $total_staff; $i++) { 
     if ($i==1)
     {
         $chk = 1;
         echo '<td class="tg-031e text-right availablepopup"></td>';
     }
     else
     {
         $chk = 2;
         echo 'something else';
     }
}

我想如果$ i = 1对,您只希望$ chk为1?如果您实际上希望它是第一个实例,那么应该是if($ i == 0)。

当然,您将需要重新添加其余的代码。在此字段中很难正确设置其格式。

答案 1 :(得分:1)

您可以这样实现:

<tr>
    <td class="tg-031e">3:00</td>
    <?php for ($i = 0, $chk = $this->general_model->check_for_temp_color('3:00', $selected_dt); $i < $total_staff; $i++): ?>
        <td class="tg-031e text-right availablepopup <?php if (($chk == 1 && $i == 0) || ($chk == 2 && $i != 0)): echo 'your-class'; endif; ?>"></td>
    <?php endfor; ?>
</tr>

your-class是您想要的课程。