Самый простой способ понять, как это работает, разобрать for
l oop.
for (<initialization>; <condition>; <update expresion>)
В вашем случае у вас есть счетчик, который устанавливается изначально и увеличивается.
for ( $counter = 0; $row = mysqli_fetch_row( $result );++$counter )
Вы не используете счетчик, но на самом деле это не имеет значения, так как единственное, что определяет, продолжается ли l oop, это если условие верно . Поскольку в конечном итоге mysqli_fetch_row
перестанет возвращать результаты, l oop прекратит работу. Переменная $counter
не используется и игнорируется для цели l oop.
Вы также можете переписать вашу строку для l oop так:
for (;$row = mysqli_fetch_row( $result );)
и это также будет работать так же. Но тогда что такое while
l oop? Это просто для l oop без выражения инициализации и обновления. Таким образом, вы можете переписать это снова как:
while ($row = mysqli_fetch_row( $result ))
Надеюсь, это прояснит ситуацию.