Php условия и операторы
Содержание:
Подробная инструкция по использованию условных операторов «if», «else» и «elseif» в PHP
Итак, представьте, что у вас есть переменная, которая содержит в себе количество яблок, – поскольку на результат вы никак не влияете, то относительно полученного числа вы можете составить условие и, например, выводить соответствующую надпись.
Реализация:
Здесь «==» говорит нам о том, что если переменная равняется 5, то выводим сообщение. Противоположное действие выполняется с помощью неравенства «!=»:
А так мы можем сделать проверку, равняется ли переменная 5 или 8:
Выше описанные примеры используют только оператор «if». А теперь тот же случай мы рассмотрим при использовании еще одного оператора – «else».
Реализация:
То есть здесь мы выполняем два действия: если у человека есть 5 яблок, то выводим одно сообщение, если же нет – то выводим другое сообщение.
Соответственно, условие при проверке двух вариантов переменной будет выглядеть следующим образом:
«else» само по себе не включает никаких проверок и используется всегда в конце – как следствие, результат, если предыдущие условия не выполнены.
Помимо двух этих операторов есть оператор «elseif», его основная задача – это продолжение оператора «if» с возможностью задать дополнительную проверку.
Реализация:
Здесь представлен вариант использования всех трех операторов. Первый (if) является обязательным, стартовым оператором, после него может не быть ничего, либо второй оператор (elseif) плюс третий (else) или сразу третий (else) или второй (elseif).
В качестве операторов сравнения вы можете использовать следующие:
- $x == $y – $x равно $y.
- $x != $y – $x не равно $y.
- $x <> $y – $x не равно $y.
- $x >= $y – $x больше или равно $y.
- $x > $y – $x строго больше $y.
- $x <= $y – $x меньше или равно $y.
- $x < $y – $x строго меньше $y.
- $x === $y – $x тождественно равно (идентично) $y.
- $x !== $y – $x тождественно не равно $y.
И в качестве логических операторов вы можете использовать:
- || – или.
- && – и.
- and – и.
- or – или.
- xor – исключающее или.
- ! – отрицание.
Как вы заметили, в последнем списке два раза встречаются «и» и «или» – разница их в том, что они имеют разную степень приоритета.
Тернарная форма условного оператора
В примере (4) приведено самое популярное применение простого условия. Краткая запись if на PHP идеально дополняет функцию isset(). Очень удобно проверить поступление данных по GET (или POST), а в случае отсутствия ожидаемого значения установить переменную в значение по умолчанию.
Следует не забывать ограничивать условия круглыми скобками. Следует знать, что тернарный оператор легко имплантируется в выражения. Следует понимать, что результат оператора PHP if в короткой записи «на равных условиях» участвует в выражении. Если в выражении присутствуют различные математические или строчные операторы, то результат тернарного «if» — равноправный операнд выражения.
Инструкция if
Условный оператор if (в переводе с англ. — «если») реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» .
Синтаксис:
Условие в этой конструкции может быть любым выражением. JavaScript автоматически преобразует результат выражения в логическое значение, вызывая для него функцию Boolean(). Если условие эквивалентно , выполняется инструкция, в противном случае – нет.
Выполняемая инструкций может быть представлена одной строкой или блоком кода (группой строк в фигурных скобках), например:
Выполнить код »
Скрыть результаты
Примечание: Рекомендуется всегда использовать фигурные скобки, даже если нужно выполнить всего одну строку кода. Это ясно показывает, что должно быть выполнено в каждом случае и улучшает читаемость кода.
Общая форма условного оператора
Условия — древнейшая синтаксическая конструкция. Наряду с оператором присваивания — оператором простого действия, условия прошли долгий путь развития программирования в целом.
До появления младшего «брата» оператора switch/case много воды утекло, программисты на различных языках составляли громоздкие конструкции из многострочных операторов if.
К моменту появления PHP программисты приобрели опыт формирования корректных условий. Идея PHP — языка сервера, которому по определению суждено быть компактным и быстрым, довольно быстро пришла к оптимальному синтаксису и формам выражения смысла, удобным для восприятия и понимания.
PHP if в короткой записи и полной форме одинаково удобен и комфортабельно воспринимаем в тексте кода скрипта.
В приведенном на фото примере (1) — исходные данные, (2) — полная форма условного оператора. Условие записывается в круглых скобках и может быть сколь угодно длинным. Блок операторов в первых фигурных скобках выполняется в случае, если условие истинно. Блок в фигурных скобках после слова «else» выполнится, если условие ложно.
Можно использовать простую форму (3), когда обе пары скобок опущены. Но программист должен понимать всю меру ответственности. Написать фигурные скобки стоит не дорого, но это гарантия, что управление при любом условии не выйдет из-под контроля.
Тернарный оператор (?:)
Условный оператор (?:) – это единственный тернарный (от лат. ternarius — «тройной») оператор с тремя операндами в JavaScript. Тернарный оператор возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом.
Первый операнд используется в качестве условия, он вычисляется и преобразуется, при необходимо, в булево значение. Если условие верно , то вычисляется и возвращается значение1. Если условие неверно , то вычисляется и возвращается значение2:
Например:
Выполнить код »
Скрыть результаты
Читается этот код так: если а больше b, то c = a, иначе c = b.
Можно записать тоже самое через if/else:
Выполнить код »
Скрыть результаты
Вложенные инструкции if/else, так же можно заменить последовательностью из тернарных операторов:
Выполнить код »
Скрыть результаты
Условный оператор имеет ассоциативность справа налево, поэтому следующие две инструкции эквивалентны:
if/elseнеполным вычислением
Выполнить код »
Скрыть результаты
В предыдущем примере оператор сначала проверяет выполняется ли временное условие (чему равна переменная time). Если условие выполняется, то в переменную message будет записана соответствующая строка приветствия. В противном случае, в силу побочного эффекта, связанного с неполным вычислением, оператор выведет и т.д. Этот метод используется не очень часто, но если вам встретится нечто подобное, то вы теперь знаете, как работают подобные инструкции.