Можно ли выполнить блок кода для первого цикла, а затем другой блок кода для каждого цикла после?

Возможно ли, чтобы один блок кода выполнялся, когда цикл выполняется один раз, а затем каждый раз после запуска другого блока кода?

например, у меня есть:

while ($blank > 0) {
echo "<td></td>";
$blank--;
$day_count++;
}

Я хотел бы изменить это в первый раз, когда он запускается:

  echo "<td class = 'left'></td>";

Затем после первого цикла перейдите к следующему:

  echo "<td></td>";

Это возможно вообще?

-1

Решение

$firstrow = true;
while ($blank > 0) {
if ($firstrow) {
echo "<td class = 'left'></td>";
$firstrow = false;
} else {
echo "<td></td>";
}
$blank--;
$day_count++;
}
2

Другие решения

Из вашего вопроса не совсем понятно, что означает «первый раз» для вас. Но в принципе вы должны иметь возможность создавать переменную, которая указывает, является ли это в первый раз. Например, вы можете использовать isset:

while($blank>0) {
if !isset($notTheFirstTime){
...
}
else {
}
$notTheFirstTime = 1
}

Когда вы впервые сталкиваетесь с этим циклом, переменная $notTheFirstTime еще не существует, и запускается первый блок кода; как только вы один раз прошли через цикл, переменная существует. Это означает, что это будет выполняться только один раз. С другой стороны, если вы хотите что-то сделать «при первом прохождении цикла, каждый раз, когда я сталкиваюсь с циклом», то я бы рекомендовал просто помещать соответствующий код вне цикла, а не внутри.

0

Это должно работать для вас:

<?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>
-1
По вопросам рекламы [email protected]