Возможно ли, чтобы один блок кода выполнялся, когда цикл выполняется один раз, а затем каждый раз после запуска другого блока кода?
например, у меня есть:
while ($blank > 0) {
echo "<td></td>";
$blank--;
$day_count++;
}
Я хотел бы изменить это в первый раз, когда он запускается:
echo "<td class = 'left'></td>";
Затем после первого цикла перейдите к следующему:
echo "<td></td>";
Это возможно вообще?
$firstrow = true;
while ($blank > 0) {
if ($firstrow) {
echo "<td class = 'left'></td>";
$firstrow = false;
} else {
echo "<td></td>";
}
$blank--;
$day_count++;
}
Из вашего вопроса не совсем понятно, что означает «первый раз» для вас. Но в принципе вы должны иметь возможность создавать переменную, которая указывает, является ли это в первый раз. Например, вы можете использовать isset
:
while($blank>0) {
if !isset($notTheFirstTime){
...
}
else {
}
$notTheFirstTime = 1
}
Когда вы впервые сталкиваетесь с этим циклом, переменная $notTheFirstTime
еще не существует, и запускается первый блок кода; как только вы один раз прошли через цикл, переменная существует. Это означает, что это будет выполняться только один раз. С другой стороны, если вы хотите что-то сделать «при первом прохождении цикла, каждый раз, когда я сталкиваюсь с циклом», то я бы рекомендовал просто помещать соответствующий код вне цикла, а не внутри.
Это должно работать для вас:
<?php
//$blank = 3;
//$day_count = 0;
for($i = $blank; $blank > 0; $blank--) {
if($i == $blank)
echo "<td class = 'left'></td>";
else
echo "<td></td>";
$day_count++;
}
?>
Выход:
<td class = 'left'></td><td></td><td></td>