Условия (if) на PHP: короткая запись

Условия занимают значительную часть алгоритмов. PHP является прогрессивным языком программирования, разработчики которого предлагают программистам лучшие формы для записи синтаксиса. Тернарная форма оператора if удобна в использовании и делает код скрипта наглядным.

PHP if (в короткой записи) получила не столько признание, сколько стала прародительницей оригинальных условных конструкций. Многие программисты считают своим долгом выразить собственный стиль в «изготовлении» оригинальных форм выражения условий.

Общая форма условного оператора

Условия - древнейшая синтаксическая конструкция. Наряду с оператором присваивания - оператором простого действия, условия прошли долгий путь развития программирования в целом.

До появления младшего «брата» оператора switch/case много воды утекло, программисты на различных языках составляли громоздкие конструкции из многострочных операторов if.

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

PHP if в короткой записи и полной форме одинаково удобен и комфортабельно воспринимаем в тексте кода скрипта.

В приведенном на фото примере (1) - исходные данные, (2) - полная форма условного оператора. Условие записывается в круглых скобках и может быть сколь угодно длинным. Блок операторов в первых фигурных скобках выполняется в случае, если условие истинно. Блок в фигурных скобках после слова «else» выполнится, если условие ложно.

Можно использовать простую форму (3), когда обе пары скобок опущены. Но программист должен понимать всю меру ответственности. Написать фигурные скобки стоит не дорого, но это гарантия, что управление при любом условии не выйдет из-под контроля.

Тернарная форма условного оператора

В примере (4) приведено самое популярное применение простого условия. Краткая запись if на PHP идеально дополняет функцию isset(). Очень удобно проверить поступление данных по GET (или POST), а в случае отсутствия ожидаемого значения установить переменную в значение по умолчанию.

Следует не забывать ограничивать условия круглыми скобками. Следует знать, что тернарный оператор легко имплантируется в выражения. Следует понимать, что результат оператора PHP if в короткой записи «на равных условиях» участвует в выражении. Если в выражении присутствуют различные математические или строчные операторы, то результат тернарного «if» - равноправный операнд выражения.

Однозначность условия - залог успеха

Любой оператор в современном императивном программировании не может быть пропущен. Все выполняется так и только так, как задумано программистом. На PHP if (в короткой записи и полной форме) имеет одинаковый уровень ответственности.

Тернарный вариант - это результат. Полная форма - это перенаправление управления. В первом случае ошибка в применении приведет к ошибкам в данных. Во втором случае управление будет передано в ненадлежащем направлении.

При наличии сомнений не следует использовать условия PHP в короткой записи. If () {} else {} может оказаться нагляднее и практичнее. Общее правило, гарантирующее стабильный результат: есть сомнение - лишите его основания. Пусть сначала будет большое, но предельно понятное решение.

Когда спектр условий станет очевидным и однозначно понятным, можно реализовать на PHP if в короткой записи.

Комментарии