Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Структуры управления и циклы PHP: if, else, for, foreach, while и многое другое

by
Difficulty:BeginnerLength:MediumLanguages:

Russian (Pусский) translation by Anna Goorikova (you can also view the original English article)

Сегодня мы обсудим структуры управления и циклы в PHP. Я покажу вам, как использовать все основные структуры управления, которые поддерживаются в PHP, например, if, else, foreach, while и многое другое.

Что такое структура управления?

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

Структуры управления - это основные функции языка PHP, которые позволяют вашему сценарию реагировать по-разному на разные входные данные или ситуации. Это может позволить вашему сценарию давать разные ответы на основе пользовательского ввода, содержимого файла или некоторых других данных.

Следующая блок-схема объясняет, как структура управления работает в PHP.

If Condition Flow

Как видно на приведенной выше диаграмме, сначала проверяется условие. Если условие истинно, будет выполнен условный код. Важно отметить, что выполнение кода продолжается нормально после выполнения условного кода.

Рассмотрим следующий пример.

If-Else Condition Flow

В приведенном выше примере программа проверяет, вошел ли пользователь в систему. На основе состояния входа пользователя они будут перенаправлены на страницу входа Login или на страницу учетной записи My Account. В этом случае структура управления завершает выполнение кода, перенаправляя пользователей на другую страницу. Это ключевая способность языка PHP.

PHP поддерживает несколько различных структур управления:

  • if
  • else
  • elseif
  • switch
  • while
  • do-while
  • for
  • foreach
  • и другие

Давайте рассмотрим некоторые из этих структур управления на примерах.

Проходим через различные управляющие структуры

В предыдущем разделе мы изучили основы структур управления в PHP и их полезность при разработке приложений. В этом разделе мы рассмотрим пару важных структур управления, которые вы часто используете в повседневной разработке приложений.

If

Конструкция if позволяет вам выполнить часть кода, если прилагаемое выражение вместе с ней оценивается как true.

Давайте посмотрим на следующий пример, чтобы понять, как это работает.

Вышеприведенный пример должен выводить Ваш возраст больше 30! потому что выражение принимает значение true. Фактически, если вы хотите выполнить только один оператор, приведенный выше пример можно переписать, как показано в следующем фрагменте без скобок.

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

Else

В предыдущем разделе мы обсудили конструкцию if, которая позволяет вам выполнить кусок кода, если выражение оценивается как true. С другой стороны, если выражение оценивается как false, оно ничего не сделает. Чаще всего вы также хотите выполнить другой фрагмент кода, если выражение принимает значение false. Вот где выражение else появляется на картинке.

Вы всегда используете оператор else в сочетании с оператором if. В принципе, вы можете определить его, как показано в следующем псевдокоде.

Давайте рассмотрим предыдущий пример, чтобы понять, как он работает.

Поэтому, когда у вас есть два варианта, и один из них должен быть выполнен, вы можете использовать конструкцию if-else.

Else If

Мы можем рассматривать оператор elseif как расширение конструкции if-else. Если у вас есть более двух вариантов на выбор, вы можете использовать инструкцию elseif.

Давайте рассмотрим базовую структуру инструкции elseif, как показано в следующем псевдокоде.

Опять же, давайте попробуем понять это, используя реальный пример из жизни.

Как вы можете видеть в приведенном выше примере, у нас есть несколько условий, поэтому мы использовали ряд инструкций elseif. В случае, если все условия if равны false, он выполняет код, указанный в последнем объявлении else.

Switch

Оператор switch несколько похож на оператор elseif, который мы только что обсуждали в предыдущем разделе. Единственное отличие - это проверенное выражение.

В случае конструкции elseif у вас есть набор различных условий, и соответствующее действие будет выполнено на основе условия. С другой стороны, если вы хотите сравнить переменную с разными значениями, вы можете использовать оператор switch.

Как обычно, пример это лучший способ понять оператор switch.

Как вы можете видеть в приведенном выше примере, мы хотим проверить значение переменной $favourite_site и на основе значения переменной $favourite_site мы хотим вывести сообщение.

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

Наконец, если вы хотите выполнить кусок кода, если значение переменной не соответствует ни одному случаю, вы можете определить его в блоке default. Конечно, это не обязательно - это всего лишь способ предоставить случай по умолчанию.

Это был обзор структур условного контроля. Мы обсудим циклы в PHP в следующем разделе.

Циклы

Циклы в PHP полезны, если вы хотите выполнить часть кода несколько раз, пока условие не примет значение false. Поэтому код выполняется несколько раз, пока условие оценивается как true, и как только условие оценивается как false, скрипт продолжает выполнение кода после цикла.

Следующая блок-схема объясняет, как циклы работают в PHP.

Loop Flow

Как вы можете видеть на скриншоте выше, цикл содержит условие. Если условие принимает значение true, выполняется условный код. После выполнения условного кода управление возвращается к условию цикла, и поток продолжается до тех пор, пока условие не примет значение false.

В этом разделе мы рассмотрим различные типы циклов, поддерживаемых в PHP.

Цикл While

Цикл while используется, если вы хотите выполнить часть кода несколько раз, пока условие while не примет значение false.

Вы можете использовать его, как показано в следующем псевдокоде.

Давайте рассмотрим пример из жизни, чтобы понять, как работает цикл while в PHP.

Если вы знакомы с серией Фибоначчи, вы можете узнать, что делает вышеуказанная программа, - она выводит ряд Фибоначчи для первых десяти чисел. Цикл while обычно используется, когда вы не знаете количество итераций, которые будут выполняться в цикле.

Цикл Do-While

Цикл do-while очень похож на цикл while, с той лишь разницей, что условие while проверяется в конце первой итерации. Таким образом, мы можем гарантировать, что код цикла выполняется хотя бы один раз, независимо от результата выражения while.

Давайте посмотрим на синтаксис цикла do-while.

Давайте рассмотрим реальный пример, чтобы понять возможные ситуации, где вы можете использовать цикл do-while.

В приведенном выше примере мы пытаемся прочитать файл по строкам. Во-первых, мы открыли файл для чтения. В нашем случае мы не уверены, содержит ли файл какой-либо контент. Таким образом, нам нужно выполнить функцию fgets хотя бы один раз, чтобы проверить, содержит ли файл какой-либо контент. Поэтому мы можем использовать цикл do-while. do-while оценивает условие после первой итерации цикла.

Цикл For

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

Давайте посмотрим на синтаксис цикла for.

Выражение expr1 используется для инициализации переменных и всегда выполняется. Выражение expr2 также выполняется в начале цикла, и если оно вычисляется как true, выполняется код цикла. После выполнения кода цикла выполняется expr3. Как правило, expr3 используется для изменения значения переменной, которая используется в выражении expr2.

Давайте рассмотрим следующий пример, чтобы узнать, как это работает.

Вышеупомянутая программа выводит квадрат первых десяти чисел. Он инициализирует $i равной 1, повторяет до тех пор, пока $i меньше или равно 10, и добавляет 1 к $i на каждой итерации.

For Each

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

Давайте рассмотрим несколько примеров.

Если вы хотите получить доступ к значениям массива, вы можете использовать первую версию цикла foreach, как показано в приведенном выше примере. С другой стороны, если вы хотите получить доступ к ключу и значению, вы можете сделать это, как показано в примере $employee выше.

Заключение

В этой статье мы обсудили различные структуры управления и петли в PHP. Они являются неотъемлемой частью PHP или любого языка программирования.

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

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.