Конспект «Условия в PHP»
Условная конструкция
Специальная конструкция, которая позволяет выполнять какие-то действия в зависимости от выполнения условий.
Синтаксис конструкции:
if ($temperature > 20) {
keks_log('Погода хорошая!')
// Эти действия выполнятся, если условие в круглых скобках истинно
}
Первая часть конструкции — слово if
, которое называют условным оператором. Дальше в круглых скобочках идёт условие, а в фигурных скобочках находятся действия или по-другому тело условия.
Альтернативное условие
else
используют, чтобы обозначить альтернативный вариант действий на случай, если условие внутри if
не выполнится.
Чтобы добавить эту конструкцию в код, после закрывающей фигурной скобки if
добавляем слово else
, фигурные скобки, а внутри фигурных скобок пишем, какие действия надо выполнить.
if (условие) {
действия;
} else {
другие действия;
}
Внедрение условия в шаблон
PHP позволяет использовать условия внутри шаблонов, чтобы менять разметку в зависимости от ситуации.
<?php if (условие): ?>
разметка
<?php endif; ?>
Логические (булевы) значения
Булевых значений всего два: true
— означает «истинно», false
— означает «ложно». Конструкции с логическими значениями называются логическими операциями.
$is_new = true;
if ($is_new) {
keks_log('Новинка!');
}
// В консоль выведется: "Новинка!"
В круглых скобках мы ни с чем не сравниваем значение переменной. Если оно true
, то действия внутри тела условия выполнятся. Если значение переменной будет false
, то не выполнятся.
Логическое ИЛИ
Логический оператор ИЛИ используется, когда есть несколько условий и мы должны выполнить действие, если хотя бы одно из них выполняется. Обозначается знаком ||
.
Например:
$mark = 3;
$clean = true;
if ($mark > 4 || $clean) {
keks_log('Маам, ну купи мороженку!');
// Мы попросим мороженку, если мы получили 5 или прибрались в комнате
}
Команды в теле условия выполнятся только тогда, когда одно или оба условия в круглых скобках true
.
Логическое И
Логический оператор И используется, когда есть несколько условий и мы должны выполнить действие, если все из них выполняются. Обозначается знаком &&
.
Например:
$is_sunny = true;
$temperature = 25;
if ($is_sunny && $temperature > 22) {
keks_log('Говорю, что заболел, и иду гулять!');
// Если на улице солнце и больше 22 градусов,
// прогуливаем работу
}
Конкатенация
Операция склеивания нескольких строк в одну.
$product_class = 'item' . ' item-hot';
// Получается строка 'item item-hot', все пробелы сохраняются
Добавление класса в разметку
Условие в шаблоне
<section class="item
<?php if ($is_new): ?>
item-new
<?php endif; ?>
">
Класс item-new
в теле условия не оборачивается в кавычки. Перед item-new
надо поставить пробел, чтобы два класса не слиплись в одно слово.
Условие в сценарии
Ещё один вариант внедрения класса — добавить в разметку переменную, которая будет содержать конечный результат — строку с необходимыми классами. А само условие написать в сценарии. Тогда код в шаблоне получается не таким громоздким и его удобней читать.
В разметке:
<section class="<?= $product_class ?>">
В сценарии:
$product_class = 'item';
if ($discount > 1400 || $is_last) {
$product_class = $product_class . ' item-hot';
// Слово 'item' склеится со словом 'item-hot' в одну строку
};
Арифметические операторы
В программировании часто используют математические знаки и называются они арифметическими операторами. Например, оператор +
складывает значения, оператор *
умножает, /
делит. Подробнее об этом можно узнать из спецификации языка.
- при добавлении условий используется полная запись PHP-тегов, а не сокращённая;
- вместо фигурных скобок после
if
ставится двоеточие; - конец условия в шаблоне обозначается командой
endif
после которой ставится точка с запятой.