- Операторы if else PHP
- Условные операторы в PHP
- Оператор if в PHP
- Оператор if . else PHP
- Оператор if . elseif . else
- Тернарный оператор PHP
- Оператор нулевого коалесцирования в PHP7
- PHP: Тернарный оператор
- Что такое тернарный оператор в PHP простыми словами
- Синтаксис
- Сокращенный тернарный оператор
- Цепочки операторов
- Преимущества
- Примеры в PHP
- Присвоить значение переменной на основе какого-либо условия
- Вывести сообщение на основе условия
- Вернуть значение из функции на основе условия
- Резюме
Операторы if else PHP
В этой статье мы расскажем, как использовать операторы if else PHP.
Условные операторы в PHP
В PHP есть несколько операторов, которые можно использовать для принятия решений:
- Оператор if ;
- Оператор if . else ;
- Оператор if . elseif . else ;
- Оператор switch . case .
Ниже мы рассмотрим каждый из этих операторов.
Оператор if в PHP
Оператор if в PHP ( как и PHP elseif ) используется для выполнения блока кода только в том случае, если указанное условие имеет значение true . Это простейший условный оператор PHP , его можно записать следующим образом:
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница:
Оператор if . else PHP
Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к if нужно добавить оператор else . Оператор if . else позволяет выполнить один блок кода, если указанное условие оценивается как true , а другой блок кода, если false .
Его можно записать следующим образом:
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница. Иначе выводиться « Хорошего дня! ».
Оператор if . elseif . else
if. elseif. else оператор ( не путать с PHP elseif else ) используется для объединения нескольких операторов if . else .
if(условие) < // Код, который будет выполнен, если условие истинно >elseif(условие) < // Код, который будет выполнен, если условие истинно >else< // Код, который будет выполнен, если условие ложно >
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться « Хорошего дня! ».
Тернарный оператор PHP
Тернарный оператор предоставляет сокращенный способ написания операторов if . else и elseif PHP . Тернарный оператор обозначается символом вопросительного знака ( ? ). Он принимает три операнда: условие для проверки, результат для true и результат для false .
Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:
Используя тернарный оператор, тот же код можно записать более компактно:
Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия ( т. е. «Ребенок» ), если условие оценивается как true ( т. е. если $age меньше 18 ) и значение справа от двоеточия ( т.е. «Взрослый» ), если условие оценивается как false .
Примечание . Код, написанный с использованием тернарного оператора, может быть трудно читаемым. Тем не менее, он предоставляет способ компактной записи операторов if-else и PHP elseif .
Оператор нулевого коалесцирования в PHP7
В PHP 7 был введен новый оператор нулевого коалесцирования ( ?? ), который можно использовать в качестве сокращенного обозначения тройного оператора в сочетании с функцией isset() .
Чтобы лучше понять, как это работает, рассмотрим приведенный ниже код. Он извлекает значение $_GET[‘имя’] . Если оно не существует или равно NULL , возвращается ‘ anonymous ‘.
Используя оператор нулевого коалесцирования вместо PHP elseif примера, этот же код можно записать в следующем виде:
Второй вариант синтаксиса является более компактным и простым в написании.
Вадим Дворников автор-переводчик статьи « PHP If…Else Statements »
Дайте знать, что вы думаете по данной теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!
PHP: Тернарный оператор
В этом разделе пойдет разговор об операторе, выполняющем несколько нетипичные действия. Существует распространенная в программировании ситуация, когда в случае выполнения некоторого условия переменной необходимо присвоить одно значение и в случае невыполнения этого условия другое значение. В следующем примере переменной $min присваивается наименьшее из значений $foo и $bar c помощью конструкции if else :
На практике подобные действия оказались настолько распространенными, что был разработан специальный условный оператор , выполняющий данные действия — сокращенный способ присваивания значения переменной на основе выполнения того или иного условия. Этот оператор использует три операнда (по этой причине его часто называют тернарным ) и записывается с помощью двух знаков ‘ ? : ‘. Он является единственным оператором в PHP, который использует более двух операндов. С помощью тернарного оператора можно записать предыдущий пример следующим образом:
Сначала проверяется результат работы условного выражения, если условие вернет значение true , то переменной $min присвоиться значение переменной $foo , если false , значение переменной $bar .
Синтаксис тернарного оператора:
Первым делом интерпретатор PHP вычисляет значение условия, если оно возвращает true, переменной присваивается значение выражения, находящегося по левую сторону от двоеточия (в данном случае выражение1). Если условие возвращает false , переменной присваивается значение выражения, находящегося справа от двоеточия (в данном случае выражение2). Скобки вокруг условного выражения не обязательны, но их довольно часто употребляют для более легкого визуального восприятия тернарного оператора. Тернарные выражения вычисляются слева направо.
Тернарные операторы могут быть вложенными:
Как видно из примера, несмотря на то, что тернарные операторы могут быть вложенными, использовать их таким образом не рекомендуется. Поэтому вложенные тернарные операторы лучше заменить на конструкцию elseif/else if или switch-case (оператор switch будет рассмотрен в следующей главе).
Напоследок стоит упомянуть об одной особенности: у тернарного оператора есть возможность не писать его среднюю часть.
Выражение ($a1) ?: 10 возвращает значение переменной $a1 , если $a1 имеет значение TRUE , и 10 в противном случае.
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru
Что такое тернарный оператор в PHP простыми словами
Тернарный оператор (по сути — условный) в PHP — это сокращенный способ написания конструкции типа if-else. Он позволяет оценить условие и вернуть значение A, если условие истинно, и значение В — когда оно ложно. Этот оператор можно использовать в различных ситуациях, когда необходимо принять решение на основе какого-либо условия.
Термин тернарный происходит от того, что он использует три операнда: выражение, значение1, значение2.
Синтаксис
Мы уже поняли, что смысл тернарного оператора — в сокращении. И вместо того, чтобы каждый раз писать что-то наподобие этого:
if (condition) $result = value2;
> else $result = value3;
>
…можно задействовать такую краткую конструкцию:
$result = condition ? value0 : value1;
Как это работает
- PHP оценивает условие (condition). Если оно истинно, правое выражение возвращает первое значение (value0); если ложно — возвращает второе значение (value1).
- PHP присваивает результат правого выражения переменной $result.
Таким образом, вышеуказанный подход позволяет сделать код более лаконичным, значительно сократив его объём.
Сокращенный тернарный оператор
Начиная с PHP версии 5.3 и выше появилась возможность задействовать сокращенный вариант. Синтаксис у него следующий:
- $initial представлен в булевом контексте.
- Если $initial будет TRUE — это же значение будет присвоено переменной $result.
- Если $initial будет FALSE — переменная получит значение по умолчанию (напомним, это $default).
Пример использования сокращенного варианта
Взгляните на этот не слишком сложный пример:
- Если $path пуст, то переменной $url будет присвоена строка ‘/’.
- Если переменная $path не пуста, то в $url будет записано значение из $path.
Цепочки операторов
В PHP можно соединять тернарные операторы, вводя круглые скобки.
Изучение операторов принесет вам пользу в долгосрочной перспективе. Ну а чтобы пользы было ещё больше — успейте записаться на курс бэкенд-разработчик от Loft.
Допустим, нам нужно демонстрировать пользователю сообщение об одобрении или отказе в получении кредита. Посмотрите на этот пример:
Мы использовали троичный оператор для решения вышеуказанной задачи.
Важно: цепочки таких операторов могут значительно перегружать код визуально, особенно, если их очень много. В качестве решения можно вернуться к стандартным конструкциям типа if. else или if. elseif.
Преимущества
Такой оператор плох тем, что провоцирует на слишком частое использование. Появляется грязь, код становится нечитабельным или просто кривым.
Тем не менее, конструкции с таким оператором в PHP могут быть вполне читаемыми и красивыми. Но при условии, что подразумевается булево выражение и его смысл не допускает двойных или тройных трактовок.
Плюсы или когда тернарный оператор оправдан (не только PHP)
Идеален для коротких тегов в PHP:
Хорошо подходит для переключателей в JavaScript / jQuery:
let el = $("#test"); $(el).is(’:visual) ? $(el).hide("weak") : $(el).fadeIn("vivid");
Хорошо подходит для заданий, когда имя переменной может принимать различные типы:
$var = ($foo->isFoo()) ? ’Успешно!’ : false;
Примеры в PHP
Предположим, нужно вывести ссылку для входа, если пользователь еще не вошел, и ссылку выхода — если пользователь уже авторизован.
Для решения вышеуказанного сценария проще всего использовать оператор if. else. Например, вот таким образом:
Код можно несколько сократить и сделать более читабельным, если ввести тернарный оператор:
В сценарии выше (и других подобных сценариях) часто приходится работать с очень длинными строками. Решить эту проблему можно, например, при помощи разбивки:
Присвоить значение переменной на основе какого-либо условия
Например, вот таким образом:
$count = 29; $can_watch = ($count >= 29) ? true : false;
В этом примере тернарный оператор задействован для установления истинности: значение переменной $count больше или равно 29. Если оно больше — переменная $can_watch становится равной TRUE, если меньше — значение $can_watch устанавливается равным FALSE.
Вывести сообщение на основе условия
Например, вот таким образом:
$status = ’на рассмотрении’; echo ($status == ’одобрено’) ? ’Ваше заявление одобрено.’ : ’Ваше заявление находится на рассмотрении.’;
В примере тернарный оператор используется для вывода сообщения на основе значения переменной $status. Если $status равняется «одобрено» — будет показано сообщение: «Ваше заявление было одобрено.».
Если переменная $status равняется «на рассмотрении» — будет показано сообщение «Ваше заявление находится на рассмотрении.».
Вернуть значение из функции на основе условия
Например, вот таким образом
function get_discount($amount) < return ($amount >100) ? $amount * 0.9 : $amount; >
Тернарный оператор задействован, чтобы вернуть стоимость товара с учетом акции.
- Если значение $amount превышает 100 — происходит возврат стоимости с учётом скидки.
- Если значение $amount не превышает 100 — происходит возврат первоначальной стоимости.
Резюме
Тернарный оператор в PHP — это сокращение конструкции if. else. Это полезный инструмент для сценариев с оценкой условия и возврата значения (на основе результата).
Если это оправдано — используйте его, чтобы сделать код более красивым и читабельным.
Хотите стать крутым и востребованным веб-разработчиком? У нас есть специализированный курс!