Задать вопрос

[PHP] Ставить ли скобки в условии if, если в блоке всего 1 действие?

Какое-то время назад друг, увидев мой код, указал на некоторые моменты которые, как ему показалось неверны(или просто так не принято).

if (!empty($fields))
    foreach ($fields as $key => $value) {
        /* Операции с массивом */
    }

Так вот этот кусок, по его мнению правильнее было бы оформить вот так:
if (!empty($fields)) {
    foreach ($fields as $key => $value) {
        /* Операции с массивом */
    }
}

Так как же всё-же *правильнее* ?

И еще 1 вопрос:
/* Так? */
if (!empty($fields)) {

}

/* Или так? */
if (!empty($fields))
{

}

Разницы особой нет, но всё-же интересно Ваше мнение.
  • Вопрос задан
  • 4942 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
VasiliyIsaichkin
@VasiliyIsaichkin
Web front/back-end (JS-full stack) app developer
Скобки лучше ставить т.к. по запарке потом можно вставить в это условие еще чтото и забыть про скобки, а потом тупить ват из фак.
Про второе считаю что первый вариант лучше т.к. не хавается лишняя строчка с скобкой и код получается более плотный и читабельный. Адепты С++ будут со мной несогласны.
Ответ написан
@Vampiro
Есть такое понятие, как "стандарт кодирования". Первый с гугла: www.skillz.ru/dev/php/article-Standarty_kodirovani...

Разные команды пишут по разным стандартам. Большинство редакторов умеют "отстандартить" код =) Так что дело вкуса.

ЗЫ на собеседованиях про psr-2 могут запросто спросить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
@xAockd
Что бы не затупить не было втф
if пишу так
if($smth) return $smth;
И тогда мне кажется явно видно что if однострочник. Ну, а если надо расширить, то тогда скобки
Ответ написан
Комментировать
mannaro
@mannaro
Умею профессионально гуглить
Если вы пишите так:
if ($var) while($var--) {
    # ......
}

То скобки лучше не ставить.

Но если вы пишите так:
if ($var)
  while($var--) {
    # ....
  }

То лучше ставить:)
Имхо, конечно.
Ответ написан
@gro
Начинающие программисты самовыражаются и самоутверждаются тем, как они раставляют скобки и как выравнивают блоки.

Потом начинают самовыражаться за счёт более интересных вещей, таких, как, например, хорошая архитектура или работающий проект.

Если первая стадия пройдена, нужно просто взять один из стандартов и следовать ему.
В PHP единственный стандарт по этому поводу, о котором следует говорить - PSR-2.

Впрочем, в любом другом вменяемом стандарте всегда ставятся скобки.
Ответ написан
Комментировать
@anitspam
я стал ставить скобки и переносить их на новую строку, когда увидел в промышленном коде, отвечающем за безопасность, примерно такое
с++
...
if (...)
    DEBUG('...')
    a = 1;
...


такие ошибки труднее найти визуально
Ответ написан
Комментировать
@r1ch
if (!empty($fields)) return $fields;
else rerurn false;

for(;;) echo "это бесконечный цикл";

в примерах выше обычно можно не ставить, код более линейный и понятный
Ответ написан
Комментировать
@barbozze
Вообще нужно смотреть по обстоятельствам, когда именно это необходимо
"Ставить ли скобки в условии if, если в блоке всего 1 действие?"
если синтаксис позволяет то на твоё усмотрение, лишь бы это было написано понятно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽