Вы находитесь на странице: 1из 3

Лекции курса PHP7 + MySQL с нуля

(краткое содержание)

ЛЕКЦИЯ 13. КОНСТРУКЦИИ ЯЗЫКА PHP. КОНСТРУКЦИЯ IF-ELSE

Язык PHP содержит ряд полезных конструкций, позволяющих решать


множество задач и проблем. Одной из них является условный оператор if-else.
Формат этой инструкции следующий:
if (логическое выражение) {
инструкция 1;
инструкция 2;

инструкция N;
} else {
инструкция 1;
инструкция 2;

инструкция N;
}
Для ситуаций, когда внутри условного оператора находится только одна
инструкция в виде простого выражения, может использоваться простая форма:
if (логическое выражение)
инструкция 1;
else
инструкция 1;
Рассмотрим оба варианта в листинге 13.1:
Листинг 13.1. Построение языковой конструкции if-else

// Форма с несколькими инструкциями внутри


$a = 10;
$b = 26;
$c;
$d;
if($a < $b) {
$c = $a * $b;
$d = $b / $a;
} else {
$c = $a + $b;
$d = $b - $a;
}
echo 'Переменная c = '.$c.', а переменная d = '.$d.'<br>';

// Форма с одной инструкцией


$a = 10;
$b = 26;
$c;
if ($a != $b)
$c = $a / $b;
else
$c = $a * $a;
echo 'Переменная c = '.$c.'<br>';

1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)

Существует еще две дополнительные варианты использования конструкции


if-else:
- конструкция if без else, в случаях, когда альтернативное условие не
требуется;
- конструкция if-elseif-else – полная форма, в которой допустимо
использование неограниченного количества условий.
Для каждой из них также существуют две формы записи: для нескольких
инструкций и для одной.
Рассмотрим их в листинге 13.2.
Листинг 13.2. Форма if и форма if-elseif-else

// Форма if с несколькими инструкциями


$a = 'Cats';
$b = 'Dogs';
$c;
if($a && $b) {
$c = $a.' vs '.$b;
echo $c.'<br>';
}

//Форма if с одной инструкцией


$a = '123';
$b = 123;
$c;
if ($a == $b)
echo ($c = 'It’s true!!!').'<br>';

//Форма if-elseif-else с несколькими инструкциями


$a = 5;
$b = 10;
$c;
$d;
if (($a + $b) > ($a * $b)) {
$c = $a * $b;
echo $c;
} elseif (($a - $b) < ($a / $b)) {
$d = $a / $b;
echo $d * ($c = $a ** $b);
} elseif ($a !== $b) {
$c = $d = ($a + $b) * $a;
echo ($c * $d) % $a;
} else {
$c = $a;
$d = $b;
echo $a + $b + $c + $d;
}

2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)

Альтернативный синтаксис конструкции


У конструкции if-elseif-else существует альтернативная форма синтаксиса:
if (логическое_выражение):
инструкция 1;
инструкция 2;

инструкция N;
elseif (логическое_выражение):
инструкция 1;
инструкция 2;

инструкция N;
else:
инструкция 1;
инструкция 2;

инструкция N;
endif
Важный момент – символ двоеточия после логического выражения. Если про
него забыть, интерпретатор выдаст ошибку!
Как и в случае обычной формы – конструкции elseif и else могут быть опущены
при необходимости.
Рассмотрим альтернативный синтаксис в листинге 18.3
Листинг 13.3. Альтернативный синтаксис конструкции if-elseif-else

$a = 'First string';
$b = 'Second string';
$c;
if ($a && $b):
$c = $a.' and '.$b;
echo $c;
elseif ($a !== $b):
$c = $a.' not a '.$b;
echo $c;
else:
$c = $a.', '.$b;
echo $c;
endif