Условные операторы
Это один из самых важных операторов многих языков, включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представить следующим образом:
if (выражение) блок_выполнения
Здесь выражение есть любое правильное PHP-выражение (т.е. все, что имеет значение). В процессе обработки скрипта выражение преобразуется к логическому типу. Если в результате преобразования значение выражения истинно (True), то выполняется блок_выполнения. В противном случае блок_выполнения игнорируется. Если блок_выполнения содержит несколько команд, то он должен быть заключен в фигурные скобки { }.
Правила преобразования выражения к логическому типу:
- логическое False
- целый ноль (0)
- действительный ноль (0.0)
- пустая строка и строка '0'
- массив без элементов
- объект без переменных (подробно об объектах будет рассказано в одной из следующих лекций)
- специальный тип NULL
- Все остальные значения преобразуются в TRUE.
<?
$names = array('Иван','Петр','Семен');
if ($names[0]=='Иван') {
echo 'Привет, Ваня!';
$num = 1;
$account = 2000;
}
if ($num) echo 'Иван первый в списке!';
$bax = 30;
if ($account > 100*$bax+3)
echo 'Эта строчка не появится
на экране, так как условие не выполнено';
?>
Мы рассмотрели только одну, основную часть оператора if. Существует несколько расширений этого оператора. Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях.
Структуру оператора if, расширенного с помощью оператора else, можно представить следующим образом:
if (выражение) блок_выполнения
else блок_выполнения1
Эту конструкцию if...else можно интерпретировать примерно так: если выполнено условие (т.е. выражение=true), то выполняем действия из блока_выполнения, иначе – действия из блока_выполнения1. Использовать оператор else не обязательно.
Посмотрим, как можно изменить предыдущий пример, учитывая необходимость совершения действий и в случае невыполнения условия.
<?
$names = array('Иван','Петр','Семен');
if ($names[0]=='Иван') {
echo 'Привет, Ваня!';
$num = 1;
$account = 2000;
} else {
echo 'Привет, $names[0].
А мы ждали Ваню :(';
}
if ($num) echo 'Иван первый в списке!';
else echo 'Иван НЕ первый в списке?!';
$bax = 30;
if ($account > 100*$bax+3)
echo 'Эта строка не появится на экране,
так как условие не выполнено';
else echo 'Зато появится эта строка!';
?>
Еще один способ расширения условного оператора if – использование оператора elseif. elseif – это комбинация else и if. Как и else, он расширяет if для выполнения различных действий в том случае, если условие, проверяемое в if, неверно. Но в отличие от else, альтернативные действия будут выполнены, только если elseif-условие является верным. Структуру оператора if, расширенного с помощью операторов else и elseif, можно представить следующим образом:
if (выражение) блок_выполнения
elseif(выражение1) блок_выполнения1
...
else блок_выполненияN
Операторов elseif может быть сразу несколько в одном if-блоке. Elseif-утверждение будет выполнено, только если предшествующее if-условие является False, все предшествующие elseif-условия являются False, а данное elseif-условие – True.
<?
$names = array('Иван','Петр','Семен');