Перейти к содержимому

Фотография

Изучаем основы PHP. Ветвления.

php программирование

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 GoodX

GoodX

    Свой человек

  • Клиент Info-DVD.Ru
  • PipPipPipPipPip
  • 533 сообщений
178
Очень хороший
  • Пол:Мужчина

Отправлено 26 Август 2012 - 15:38

Важнейший прием, используемый в программировании – это ветвления кода программы. Благодаря специальным операторам возможно указать интерпретатору PHP выполнять тот или иной код только в том случае, если выполняется определенное условие. Мы с вами рассмотрим три оператора ветвления: оператор if, тернарный оператор и оператор switch.

Оператор условия if.

Слово if с английского языка можно перевести, как «если». Смысл данного оператора заключается в том, что определенный блок кода, помещенный внутри оператора, выполняется лишь в том случае, если выполняется какое-то конкретное условие.

На практике это может выглядеть так.

Если пользователь не зарегистрирован на сайте, необходимо отослать его на форму регистрации. Иначе, если он не оплатил свой аккаунт, необходимо напомнить ему о выписанном счете и заблокировать доступ в закрытый раздел. Иначе нужно позволить пользователю просматривать все разделы сайта, в том числе и закрытые.

Рассмотрим несколько вариантов использования оператора if.

Самый простой случай:
if (условие) действие;

7.PNG

Если необходимо выполнить несколько действий, то их нужно заключить в фигурные скобки {}. Каждое действие лучше всего записать в отдельной строке – так улучается читабельность кода.

8.PNG

Следуем дальше…

Часто необходимо указать, какие действия нужно совершить не только в случае выполнения условия, заключенного в скобках, но и тогда, когда условие не выполняется. Для этого применяют ключевое слово else.

Посморите на код:

9.PNG

В этом коде мы увеличили переменную $a на единицу в случае, если изначально она была равна 10, и уменьшили ее на единицу в случае, если не равна. А затем вывели на экран сроку с полученным результатом.

Бывают случаи, когда необходимо осуществить проверку дополнительных условий в том случае, если первоначальное оказалось ложным. Для этого применяется ключевое слово elseif. Для примера приведем следующий код:

10.PNG

Как в данной ситуации поведет себя интерпретатор? Допустим, известно, что $a равна 10. В таком случае интерпретатор первым делом проверит на истинность следующее выражение: 10 > 10. Он убедиться, что это выражение ложно, и пропустит тот код, который был заключен в фигурные скобки сразу после данного условия.

Далее интерпретатор проверит на соответствие истинности второе выражение: 10 < 10. Он убедиться, что и это выражение не верно, а значит - он снова пропустит код в фигурных скобках. Затем он увидит, что условий на проверку больше нет, зато есть ключевое слово else. И он выполнит блок кода, который заключен в фигурных скобках после else. На экран выведется фраза «А равно 10».

Что было бы, если бы $a была меньше, чем 10? В таком случае интерпретатор после проверки первого условия также пропустил бы первый блок кода и перешел к проверке второго условия. Здесь бы он определил, что условие истинно. А значит, он выполнил бы блок кода, который заключен в фигурные скобки сразу после верного условия, и выведет на экран строку «А меньше, чем 10». Все остальные ключевые слова и условия он пропустит, сколько бы их ни было, так как верное выражение уже найдено.

Тернарный оператор условия

Его можно применять в качестве альтернативы оператору if в случае, если идет проверка на истинность всего одного условия, и необходимо задать по одному действию в зависимости от того, верно ли это условие.
Синтаксис оператора таков:

Переменная = Условие ? Значение1 : Значение2;

Если условие истинно, то интерпретатор присвоит переменной первое значение, если ложно – второе.
Вот как это может выглядеть на практике:

11.PNG

Этот код означает следующее: если переменная $b меньше 10, то переменной $a присваивается значение 9, иначе ей присваивается значение 11.

Оператор switch

Этот оператор следует применять в качестве альтернативы оператору if в случае, если необходимо проверить одно и то же выражение на соответствие разным значениям. И в случае соответствия с одним из них, выполнить определенный блок кода.

Обратите внимание на следующий код:

12.PNG

Оба эти варианта будут работать одинаково хорошо. Однако в более сложных ситуациях в случае, когда нужно сравнить одно и то же выражение с предложенными вариантами, более лаконично и разумно использование оператора switch.

Для чего нужно ключевое слово break в конце каждого блока кода? Это слово указывает интерпретатору на то, что не обходимо выйти из оператора switch, пропустив все остальные кейсы, не выполняя их. Если не напечатать это слово, то интерпретатор будет действовать следующим образом: он найдет кейс, значение которого совпадает с указанным выражением, выполнит блок кода в этом кейсе, а затем последовательно выполнит все блоки кода всех кейсов, следующих далее.

Таким образом, вместо одной цифры, мы увидим на экране все цифры, присутствующие в кейсах до конца оператора, начиная с той, что совпадает со значением переменной $a. Попробуйте поиграться с этим ключевым словом для того, чтобы лучше понять его предназначение.

Все статьи этой серии:

Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:33

  • 1

На правах рекламы





Темы с аналогичным тегами php, программирование

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей