Язык программирования PHP - [12]

Шрифт
Интервал

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


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


Оператор if


Это один из самых важных операторов многих языков, включая 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 "Эта строчка не появится

> на экране, так как условие не выполнено";

>?>


Оператор 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 "Зато появится эта строка!";

>?>


Оператор 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]. А ты кто такой?";

>}

>?>


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


PHP предлагает альтернативный синтаксис для некоторых своих управляющих структур, а именно для if, while, for, foreach и switch. В каждом случае открывающую скобку нужно заменить на двоеточие (:), а закрывающую – на endif;, endwhile; и т.д. соответственно.


Например, синтаксис оператора if можно записать таким образом:


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


Смысл остается тем же: если условие, записанное в круглых скобках оператора if, оказалось истиной, будет выполняться весь код, от двоеточия «:» до команды endif;. Использование такого синтаксиса полезно при встраивании php в html-код.


>

>$names = array("Иван","Петр","Семен");

>if ($names[0]=="Иван"):

>?>

>Привет, Ваня!

>


Если используются конструкции else и elseif, то также можно задействовать альтернативный синтаксис:


>

>if ($a == 5):

> print "a равно 5";

> print "...";

>elseif ($a == 6):

> print "a равно 6";

> print "!!!";

>else:

> print "a не равно ни 5, ни 6";

>endif;

>?>


Оператор switch


Еще одна конструкция, позволяющая проверять условие и выполнять в зависимости от этого различные действия, – это switch. На русский язык название данного оператора можно перевести как «переключатель». И смысл у него именно такой. В зависимости от того, какое значение имеет переменная, он переключается между различными блоками действия. switch очень похож на оператор if...elseif...else или набор операторов if. Структуру switch можно записать следующим образом:


Рекомендуем почитать
Сочинения гр. А. К. Толстого как педагогический материал. Часть 2. Эпические мотивы

«Лирика обладает одним несомненным преимуществом перед другими родами поэзии: она лучше всего освещает нам личный мир поэта, ту сферу, которую выделяет для него в широком Божьем мире его темперамент, обстановка, симпатии, верования; она показывает степень отзывчивости поэта; т.е. его способности переживать разнородные душевные состояния: она часто открывает нам уголки поэтической деятельности, где живут не оформившиеся еще образы, задатки для определенных фигур эпоса и драмы. В эпосе и драме образы становятся разнообразнее и пестрее, но вместе с тем славятся объективнее, особенно в драме…».


Уголовное право. Особенная часть

В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.


Самоучитель Adobe After Effects 6.0

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.


Финансовое право

В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.


Следственные действия: психология, тактика, технология

Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.


фгос  ответы

Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.