Сокращение для цикла в PHP

У меня есть трехстрочный код:

echo '<div>';
for ($i=1; $i<=4; $i++) echo $i;
echo '</div>';

Есть ли синтаксис или функция, позвольте мне переписать приведенный выше код только в одной строке, например:

echo '<div>'.(for...).'</div>'; //error

Спасибо

2 ответа

Да, это возможно, нет, вы не хотите делать это:

echo '<div>' . implode('', array_keys(array_fill(1,4,0))) . '</div>';

Хотя удобочитаемость является исключительно личным мнением, существуют "общие" методы, рекомендации и стандарты кодирования, которые используются многими разработчиками.

И хотя вам не нужно их придерживаться, это зависит только от вас или от компании, в которой вы работаете, но некоторые из этих "способов" являются просто здравым смыслом, независимо от вашего личного выбора.

Даже если бы был способ сделать это, чего бы вы хотели?
Как далеко вы хотите смешать все вместе для предполагаемой читабельности?

echo и loop это совершенно разные вещи, и должны оставаться отдельными.

Ответ

Отвечая на ваш вопрос, нет, это невозможно, потому что PHP должен различать разные "вещи" - функции, операторы echo, объявление и использование переменных и т. Д.
Единственное, что вы можете "смешать" - это то, что PHP позволяет быть вместе, например, иметь переменную в скобках функции (function($someVar)).

Единственное, что вы можете сделать (и опять же, это не имеет никакого смысла, кроме вашего выбора), это поместить все это в одну строку, вот так:

echo '<div>'; for ($i=1; $i<=4; $i++) { echo $i; } echo '</div>';  

Но это выглядит ужасно.
Я хочу быстро увидеть разные вещи - "ах, эхо, он печатает XYZ", затем я хочу увидеть цикл отдельно, чтобы я мог легко видеть, что делает цикл.

Другие вопросы по тегам