Условный оператор if
Использование условного оператора if
Если говорить в общем, то условные операторы позволяют пропустить или выполнить некоторый блок кода в зависимости от результата вычисления своего условного выражения (условия). Простейшим из условных операторов является оператор if, который вычисляет значение своего условного выражения, преобразуя его по необходимости в булев тип, и по результатам вычисления принимает решение – если конечный результат имеет значение true, то интерпретатор выполняет указанный фрагмент кода, а если конечный результат имеет значение false, то интерпретатор пропускает данный фрагмент кода и начинает выполнять следующую за условным оператором инструкцию. Использование условного оператора if показано в примере 4.1.
<?php $a=5; //Присвоили переменной число if($a>0){//В круглых скобках записывается условие оператора if $a=++$a; //Код, который выполняется в случае истинности условия //заключается в фигурные скобки, т.е. в тело оператора } //Точку с запятой после фигурных скобок не ставят echo $a; //Выведет 6, т.к. условие оператора if оказалось истинным, //поэтому инструкция в теле оператора, т.е. между //открывающей и закрывающей фигурными скобками, была выполнена, //Если бы условие оказалось ложным, то весь код в теле //оператора if был бы пропущен и оператор echo вывел бы 5 ?>
Пример 4.1. Условный оператор if и его синтаксис
Отметим, что в теле оператора if может содержаться произвольное число инструкций, выполняемых условно. Так что нет необходимости для каждой из инструкций использовать отдельный оператор if. Кроме того, в теле оператора if разрешается использовать как другие вложенные операторы if, так и вложенные управляющие конструкции других видов, что значительно повышает возможности организации условного выполнения различных частей программы.
Управляющая конструкция if/else
Если в зависимости от результата проверки условного выражения нужно выполнить одну из двух инструкций, то оператор if расширяется при помощи оператора else, который в случае, если значение условия равно false, позволяет выполнить альтернативную инструкцию (см. пример 4.2).
<?php $a=5; //Присвоили переменной число if($a<0){// В круглых скобках записывается условие оператора if $a=++$a; //Код, который выполняется в случае истинности условия, //заключается в фигурные скобки до ключевого слова else }else{ //Код, который выполняется в случае ложности условия, //заключается в фигурные скобки после ключевого слова else $a=--$a; } //Точку с запятой после фигурных скобок не ставят echo $a; //Выведет 4, т.к. условие оператора if оказалось ложным, //поэтому была выполнена вторая инструкция ?>
Пример 4.2. Расширение оператора if при помощи ключевого слова else
Оператор elseif
Более того, если значение условия оператора if окажется ложным, имеется возможность не просто выполнить альтернативную инструкцию, а выбрать ее из нескольких подходящих вариантов. Для этого оператор if расширяется при помощи оператора elseif, который по сути служит для объединения двух соседних операторов if (см. пример 4.3).
<?php $a=5; //Присвоили переменной число if($a<0){ // В круглых скобках записывается условие оператора if $a=-1; //Код, который выполняется в случае истинности условия }elseif($a==0){ $a=0; //Выполняется в случае ложности предыдущего условия }elseif($a>0&&$a<=5){ $a=1; //Выполняется в случае ложности всех предыдущих условий }else{ $a=++$a; //Выполняется в случае ложности всех предыдущих условий } //Точку с запятой после фигурных скобок не ставят echo $a; //Выведет 1, т.к. первым истинным условием является $a>0&&$a<=5 ?>
Пример 4.3. Расширение оператора if при помощи ключевого слова elseif
Как видно из примера, можно применять сразу несколько операторов elseif. При этом, в отличие от оператора else, при использовании оператора elseif выполнение альтернативного выражения произойдет только тогда, когда его условие будет иметь значение true, а условные выражения всех предыдущих аналогичных операторов будут иметь значения, равные false.
Ключевые слова else и if разрешается писать отдельно в формате языка JavaScript, т.е. в виде else if. Однако следует помнить, что при использовании альтернативного синтаксиса с применением двоеточия так делать нельзя. Но, поскольку мы не будем ни рассматривать, ни пользоваться альтернативным синтаксисом – оба варианта можно считать равнозначными.