Опубликован: 01.03.2005 | Доступ: свободный | Студентов: 33875 / 4519 | Оценка: 4.31 / 4.06 | Длительность: 16:41:00
ISBN: 978-5-9556-0026-0
Лекция 3:

Управляющие конструкции

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Аннотация: В лекции рассматриваются условные операторы (if, switch), работа с циклами (while, for, foreach) и использование функций include, require. Пример – универсализация письма в зависимости от ситуации и его отправка каждому из группы пользователей.

Условные операторы

Оператор if

Это один из самых важных операторов многих языков, включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представить следующим образом:

if (выражение) блок_выполнения

Здесь выражение есть любое правильное PHP-выражение (т.е. все, что имеет значение). В процессе обработки скрипта выражение преобразуется к логическому типу. Если в результате преобразования значение выражения истинно ( True ), то выполняется блок_выполнения. В противном случае блок_выполнения игнорируется. Если блок_выполнения содержит несколько команд, то он должен быть заключен в фигурные скобки { }.

Правила преобразования выражения к логическому типу:

  1. В FALSE преобразуются следующие значения:
    • логическое False
    • целый ноль ( 0 )
    • действительный ноль ( 0.0 )
    • пустая строка и строка "0"
    • массив без элементов
    • объект без переменных (подробно об объектах будет рассказано в одной из следующих лекций)
    • специальный тип NULL
  2. Все остальные значения преобразуются в TRUE.
<?
$names = array("Иван","Петр","Семен"); 
if ($names[0]=="Иван") { 
    echo "Привет, Ваня!";
    $num = 1;
    $account = 2000;
}
if ($num) echo "Иван первый в списке!";
$bax = 30;
if ($account > 100*$bax+3) 
    echo "Эта строчка не появится 
    на экране, так как условие не выполнено";
?>
Пример 3.1. Условный оператор if

Оператор else

Мы рассмотрели только одну, основную часть оператора 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 "Зато появится эта строка!";
?>
Пример 3.2. Оператор else

Оператор elseif

Еще один способ расширения условного оператора 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("Иван","Петр","Семен"); 
if ($names[0]=="Иван") {    
    // если первое имя в массиве Иван
    echo "Привет, Ваня!";
}elseif ($names[0] == "Петр"){  
    // если первое имя 
    // не Иван, а Петр
    echo "Привет, Петя!";
}elseif ($names[0] == "Семен"){     
    // если первое имя не 
    // Иван, не Петр, а Семен
    echo "Привет, Сеня!";
}else { 
    // если первое имя не Иван, 
    // не Петр и не Семен
    echo "Привет, $names[0]. А ты кто такой?";
}
?>
Пример 3.3. Оператор elseif
< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Анастасия Егорова
Анастасия Егорова
Россия, Гай
Яна Жарская
Яна Жарская
Россия, Орск, МОАУ СОШ № 4, 2016