Структуры управления PHP, такие как if, else, for, foreach, while - без фигурных скобок?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Структуры управления PHP, такие как if, else, for, foreach, while - без фигурных скобок?

Сообщение Anonymous »

Что-то, что действительно хотелось бы знать, но так и не выяснилось, — это ярлыки в PHP.

В настоящее время я пишу функцию с помощью цикла foreach, внутри которого находится всего один оператор. Я попытался опустить фигурные скобки, как это можно сделать в управляющих структурах if/else, и это сработало. Ошибок нет.

Код: Выделить всё

foreach($var as $value)
$arr[] = $value;
Теперь я попробовал использовать его таким же образом, но поместив внутри него блок if/else. И снова работает и никаких ошибок.

Код: Выделить всё

foreach($var as $value)
if(1 + 1 == 2) {
$arr[] = $value;
};
Затем я подумал: «Почему это работает?» и опустил закрывающую точку с запятой. Все еще работаю. Поэтому я попытался использовать оператор if/else без фигурных скобок внутри цикла foreach и снова, все еще работает и без ошибок. Но действительно ли цикл foreach сейчас закрыт/завершен?

Код: Выделить всё

foreach($var as $value)
if(1 + 1 == 2)
$arr[] = $value;
По крайней мере, я снова пропустил закрывающую точку с запятой, и (как и ожидалось) произошла ошибка синтаксического анализа.

Поэтому мой большой вопрос: когда я могу опустить фигурные скобки и в какой структуре/цикле/функции? Я знаю, что определенно смогу сделать это в if и else. А как насчет while, for и foreach?

И да, я знаю, что кодировать без фигурных скобок небезопасно и неразумно, а есть такие сокращения, как $condition ? true: false; и if: doSomething(); endif;, endfor; и endforeach;. Я не хочу изучать сокращения, я просто хочу понять условия, когда и где можно опускать фигурные скобки.

Подробнее здесь: https://stackoverflow.com/questions/872 ... rly-braces
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»