Как и большинство языков программирования, PHP также позволяет писать код, который выполняет различные действия на основе результатов логических или сравнительных условий во время выполнения. Это означает, что вы можете создавать условия тестирования в форме выражений, которые оцениваются как true или false, и на основе этих результатов вы можете выполнять определенные действия.

В PHP есть несколько операторов, которые можно использовать для принятия решений:

  • Оператор if;
  • Оператор if…else;
  • Оператор if…elseif….else;
  • Оператор switch…case.

Мы рассмотрим каждый из них в этом разделе.

Оператор if

Оператор if используется для выполнения блока кода только в том случае, если указанное условие истинно. Это простейший условный оператор PHP, который можно записать так:

if(condition) {
    // Код для выполнения
}

В следующем примере будет выведено «Хороших выходных!» если текущий день пятница:

<?php
$d = date("D");
if($d == "Fri") {
    echo "Хороших выходных!";
}
?>

Оператор if…else

Вы можете улучшить процесс принятия решений, предоставив альтернативный выбор, добавив оператор else к оператору if. Оператор if…else позволяет вам выполнить один блок кода, если указанное условие оценивается как истинное, и другой блок кода, если оно оценивается как ложное. Его можно записать так:

if(condition) {
    // Код для выполнения, если  условие condition верно
} else {
    // Код для выполнения, если условие condition ложно
}

В следующем примере будет выведено «Хороших выходных!» если текущий день — пятница, иначе будет выведено «Хорошего дня!»

<?php
$d = date("D");
if($d == "Fri") {
    echo "Хороших выходных!";
} else {
    echo "Хорошего дня!";
}
?>

Оператор if…elseif…else

if…elseif…else — специальный оператор, который используется для объединения нескольких операторов if…else.

if(condition1) {
    // Код для выполнения, если condition1 истинно
} elseif(condition2) {
    // Код для выполнения, если condition1 ложно, а condition2 истинно
} else{
    // Код для выполнения, если и condition1, и condition2 ложны
}

В следующем примере будет выведено «Хороших выходных!» если текущий день пятница, и «Хорошего воскресенья!» если текущий день — воскресенье, иначе будет выведено «Хорошего дня!»

<?php
$d = date("D");
if($d == "Fri") {
    echo "Хороших выходных!";
} elseif($d == "Sun") {
    echo "Хорошего воскресенья!";
} else {
    echo "Хорошего дня!";
}
?>

Вы узнаете о PHP-операторе switch-case в следующей главе.

Тернарный оператор

Тернарный оператор обеспечивает сокращенный способ написания операторов if…else. Тернарный оператор представлен знаком вопроса (?) и принимает три операнда: условие для проверки, результат для true и результат для false.

Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:

<?php
if($age < 18) {
    echo 'Child'; // Отображаем "Child", если возраст меньше 18
} else {
    echo 'Adult'; // Отображаем "Adult", если возраст больше или равен 18
}
?>

Используя тернарный оператор, тот же код можно написать более компактно:

<?php echo ($age < 18) ? 'Child' : 'Adult'; ?>

Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия (т.е. 'Child'), если условие оценивается как истинное (т.е. если $age меньше 18), и выбирает значение справа от двоеточия ( т.е. 'Adult'), если условие оценивается как ложное.

Код, написанный с использованием тернарного оператора, может быть трудночитаемым. Однако это отличный способ писать компактные операторы if-else.

Нулевой оператор объединения (Null Coalescing) PHP 7

PHP 7 представляет новый оператор объединения с нулевым значением (??), который вы можете использовать как сокращение, когда вам нужно использовать тернарный оператор в сочетании с функцией isset().

Чтобы лучше понять это, рассмотрим следующую строку кода. Он извлекает значение $_GET['name'], если оно не существует или NULL, оно возвращает ‘anonymous’.

<?php
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
?>

Используя нулевой оператор объединения, тот же код можно записать как:

<?php
$name = $_GET['name'] ?? 'anonymous';
?>

Как видите, этот синтаксис более компактен и прост в написании.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.