English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать предложения if ... else ... elseif в PHP для написания кода принятия решений.
Как и большинство языков программирования, PHP также позволяет вам писать код, который в процессе выполнения выполняет различные действия в зависимости от результатов логических или сравнительных тестов условий. Это означает, что вы можете создать тестовые условия в виде выражения, результат вычисления которого true или false, и в зависимости от этих результатов выполнять某些 действия.
В PHP есть некоторые предложения, которые можно использовать для принятия решений:
if Предложение
if ... else Предложение
if...elseif..else Предложение
switch...case Предложение
Мы рассмотрим каждый из них в следующей части.
Только когда значение указанного условия равно true,ifПредложения используются только для выполнения блоков кода. Это самая простая PHP- 条件 предложение, можно записать так:
if(condition){ //Код, который нужно выполнить }
Пример, который выводит «Удачной выходные!», если сегодня — пятница:
<?php $d = date("D"); if($d == "Fri"){ echo "Удачи в выходные!"; } ?>Проверьте, посмотрите‹/›
Вы можете добавить предложение else в предложение if, чтобы предоставить альтернативный выбор, тем самым усиливая процесс принятия решений. Если условие, указанное в предложении if, истинно, предложение if ... else позволяет вам выполнить один блок кода, если условие ложно, можно выполнить другой блок кода. Это можно записать так:
if(condition){ //Если условие true, будет выполняться этот код } //Если условие false, будет выполняться этот код }
Пример, который выводит «Удачной выходные!», если текущая дата — пятница, в противном случае выводится «Удачной день!"
<?php $d = date("D"); if($d == "Fri"){ echo "Удачи в выходные!"; } else { echo "Поздравляю, вас с удовольствием!"; } ?>Проверьте, посмотрите‹/›
Специальные предложения if ... elseif ... else, используемые для комбинирования нескольких предложений if ... else.
if(condition){ //Если condition1 true, будет выполняться этот код } //Если condition1 false и condition2 true, будет выполняться этот код } //Если код, который будет выполняться, если condition1 и condition2 будут выполнены, является неверным }
Пример, который выводит «Удачной выходные!», если текущая дата — пятница, и «Удачной воскресенье!», если текущая дата — воскресенье, в противном случае выводится «Удачной день!"
<?php $d = date("D"); if($d == "Fri"){ echo "Удачи в выходные!"; } elseif($d == "Sun"){ echo "Поздравляю, вас с воскресеньем с удовольствием!"; } else { echo "Поздравляю, вас с удовольствием!"; } ?>Проверьте, посмотрите‹/›
ВСледующая главаВ этом разделе вы узнаете о语句ах switch-case в PHP.
Три operand operator предоставляет удобный способ записи предложений if... else. Три operand operator указывается вопросительным знаком (?), он имеет три операнда: условие для проверки, результат, если условие истинно, и результат, если условие ложно.
Чтобы понять, как работает этот оператор, посмотрите на следующий пример:
<?php $age = 15; if($age < 18){ echo 'Дети'; //Если возраст меньше 18 лет, то显示 дети } else { echo 'Взрослые'; //Если возраст больше или равен 18 лет, то显示 взрослый } ?>Проверьте, посмотрите‹/›
Использование三元 оператора позволяет записать такой же код более компактно:
<?php $age = 15; echo ($age < 18) ? 'Дети' : 'Взрослые'; ?>Проверьте, посмотрите‹/›
В предыдущем примере三元 оператор выбирает значение слева от двоеточия (т.е. «Дети»), если результат вычисления условия равен true (т.е. $age меньше 18), и значение справа от двоеточия (т.е. «Взрослые»), если результат вычисления условия равен false.
Совет:Код, написанный с использованием三元 оператора, может быть сложным для чтения. Однако, он предоставляет удобный способ записи компактных if-else предложений.
PHP 7 ввел новый оператор Null-коalescing (??), который можно использовать в качестве сокращенной формы, где необходимо использовать三元 оператор и функцию isset().
Чтобы лучше понять это, посмотрите на следующий код. Он��取 значение $_GET['name'], если оно отсутствует или равно NULL, то возвращает 'anonymous'.
<?php //Использование三元 оператора(?:) $name = isset($_GET['name']) ? $_GET['name'] : 'anonymous'; echo $name; ?>Проверьте, посмотрите‹/›
Использование оператора Null-коalescing позволяет записать такой же код:
<?php //Использование оператора Null-коalescing (??) $name = $_GET['name'] ?? 'anonymous'; echo $name; ?>Проверьте, посмотрите‹/›
Как вы видите, грамматика дальше становится более компактной и удобной для написания.