Конспект «Условия в 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 после которой ставится точка с запятой.
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Условия в PHP» тренажёра «Знакомство с PHP» можно после регистрации и оформления подписки.