Условные операторы и циклические операторы в PHP

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

В данном случае конструкция if будет иметь следующий формат записи:

 

<?php if(какое-либо условие) { блок выражений } ?>

 

Пример:

<?php $b=5; if($b<10){ echo $b. "меньше десяти"; } ?>

 

В этом примере переменной $b присваивается значение 5. Потом осуществляется сравнение 5<10. Как мы видим, оно – истинно, поэтому заключенный в фигурные скобки код будет выполняться. В результате на экран будет выведена фраза: 5 меньше десяти.

Приведенный выше способ записи может быть усложнен с помощью команд elseif и else. Синтаксис расширенного формата следующий:

 

<? php if(какое-либо условие){    Блок выражений 1 } elseif{    Альтернативный блок выражений 2 } else{    Альтернативный блок выражений 3 } ?>

 

Конструкция if, как и любая другая условная конструкция, использует условные выражения, например $chislo>=0. Это выражение истинно, если переменная $chislo больше или равняется нулю. Операнды можно сопоставлять не только на равенство, но и наоборот – на неравенство. Для этого используют оператор! (not).

В PHP также можно объединять условные выражения в пределах одной конструкции. На практике довольно часто нужно проверить операнды на несколько соответствий. Например, узнать, входит ли число в диапазон чисел от 20 до 100. Для таких целей используются операторы OR, AND. С их помощью условные выражения можно комбинировать.

Оператор OR возвращает значение TRUE, если выражение слева или справа является истинным.

Оператор AND возвращает значение TRUE, если истинными одновременно будут оба выражения – слева и справа.

Пример с оператором OR:

<?php $login= ''Вася''; //Теперь проверим, совпадает ли $login с одним из заданных логинов if($login==''Вася'' OR $login==''Маша''){        echo 'Логин правильный'; } else{        echo 'Вы ввели ошибочный логин'; } ?>

В данном примере оператор OR используется для проверки строки (логина) на совпадение с одной из 2 строк. Выражение вернет TRUE, если будет хотя бы одно совпадение.

Пример с оператором AND:

<?php  $b=15; //Проверяем, входит ли переменная $b в диапазон 10 < $b < 100  if ($b > 10 AND $b < 100) {     echo'$b входит в диапазон';  } else{     echo'$b не входит в диапазон';  } ?>

 

В этом примере выражение вернет значение TRUE только в том случае, если переменная $b одновременно будет больше десяти и меньше 100.

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

Следующая запись используется для проверки существования той или иной переменной:

 

<?php if(!$b){ echo 'Переменной $b не существует'; } ?>

 

Но, следует заметить, что для проверки существования переменных лучше использовать встроенную функцию PHP issset().

<?php if(isset($b)){ echo'Такая переменная существует'; } else{ echo'такой переменной не существует'; } ?>

 

Функция empty() используется для того, чтобы узнать, пусто ли значение переменной. Иногда переменная в PHP скрипте может быть установлена и функция isset() вернет TRUE, но значение переменной будет пустым. Функция empty() используется для дополнительной проверки. Формат записи:

<?php $b=''''; if(!empty($b)){ echo 'Значение переменной $b не является пустым'; } ?>

 

Для повторения блока инструкций несколько раз в РНР, как и в других языках программирования используются операторы цикла программа. В языке программирования PHP существует несколько способов записи циклических конструкций:

1. while
2. for
3. do… while
4. foreach

 

Циклическую конструкцию while используют в случаях, когда количество повторений неизвестно заранее. Повторение будет выполняться до тех пор, пока условие цикла равняется true.

Синтаксис цикла while:

while (условие продолжения){ //блок команд }

 

Пример цикла while:

<?php //Присваиваем переменной начальное значение $begin=0; //Устанавливаем предельное значение $end=9; //Начинаем цикл с условием while ($begin<=$end){ // Определяем номер итерации $iteration = $ begin + 1;   echo ''$iteration –я итерация<br />'';   //Обратите внимание!!! Здесь мы увеличиваем значение $begin!   $begin++; } ?>

 

Данный скрипт выводит номера повторений цикла. Отсчет начинается со значения $begin, которое устанавливается в самом начале. Потом переменная $end определяет номер последней итерации, на которой цикл останавливается.

 

В отличие от цикла while, цикл for в основном используют для выражений с заранее известным количеством повторений. Но for отличается тем, что условие меняется в самой конструкции, а не снаружи или внутри блока скрипта.

Синтаксис цикла for:

for (инициализация; условие; приращение){ //блок команд }

 

Пример использования цикла for:

<?php for ($begin=0, $end=9; $begin<=$end;$begin++){ //Присваиваем номер итерации $iteration=$begin+1; echo ''$iteration –я итерация<br />''; } ?>

 

Во время первого прохода данной циклической конструкции инициализируются переменные $begin и $end: они получают значения 0 и 9. Потом интерпретатор проверяет истинность условия цикла. Конечно же, 0<9, поэтому блок кода внутри цикла for выполняется, а $begin увеличивается на 1. После вывода echo условие цикла проверяется снова. В этот раз переменная $begin=1, что меньше 9, поэтому цикл продолжает выполняться. Когда значение $begin=10, условие $begin<=$end оказывается ложным – false и цикл заканчивается.

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

Пример:

<?php $begin=0; $end=10; do{ echo $begin; } while($begin>=$end); ?>

 

Так как выражение 0>=10 является ложным, условие цикла должно вернуть значение false. Однако, как было замечено раньше, одна итерация данного цикла выполняется всегда. Поэтому на экране в результате выполнения скрипта появится значение переменной $ begin, а именно 0.

 




Массивы

Массив – это организованная совокупность ячеек памяти, хранящих данные под одним именем. Массив может одновременно содержать несколько элементов (значений). Элементы массивов идентифицируются по их индексам (ключам). Любой массив состоит из 1 или нескольких пар «ключ – значение».

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

 

Пример:

<?php $word = ''программа''; echo $word[0]; // на экран будет выведена буква «п» // в примере ключ элемента – 0, значение элемента – «п». ?>

Массив можно создать с помощью конструкции array(). Эта конструкция позволяет создавать пустой массив:

<?php $moy_massiv = array(); ?>

 

или массив с некоторыми элементами:

<?php $moy_massiv = array(''10'', ''20''); ?>

 

До сих пор мы говорили про одномерные массивы. Массив в таком случае имел очень простую структуру: «ключ => значение».

Но часто приходится иметь дело с более сложными структурами данных. Хорошим примером многомерных данных может быть список зарегистрированных пользователей сайта. В массиве данных хранится информация не только о логине и пароле, но и другая частная информация о пользователях. Многомерные массивы используются для описания именно таких структур.

У многомерного массива каждый элемент имеет не менее двух индексов. Это достигается за счет того, что в PHP элементом массива может выступать любой тип данных, и другой массив в том числе. Создаются своего рода «массивы массивов». Для примера рассмотрим многомерный массив пользователей сайта:

 

<?php $polzovateli = array ( 0 => array ( ''login'' => ''Admin'', ''paswd'' => ''gh360D12lJ'', ''email'' => ''adm@somemail.com'', ''profession'' => ''PHP programmer'' ) 1 => array ( ''login'' => ''Alex'', ''paswd'' => ''hd240lbDsA0'', ''email'' => ''alex@somemail.com'', ''profession'' => ''engineer'' ) 2 => array ( ''login'' => ''James'', ''paswd'' => ''lre54c0Sdv0f'', ''email'' => ''james@somemail.com'', ''profession'' => ''dancer'' ) ); ?>

 

Для доступа к элементам многомерного массива индексы записывают сразу после предыдущих в квадратных скобках. Если добавить к вышеприведенному колу такую строку:

 

echo $polzovateli [1] [''profession''];

 

то мы получим профессию пользователя – engineer.

 

Многомерные массивы делятся на:

1. Индексные (ключами массивов выступают целочисленные значения).

2. Ассоциативные (ключами являются исключительно строковые данные).

3. Смешанные (логично, что здесь ключами могут быть как целые числа, так и строковые величины).

Как видите, в данном примере рассматривался смешанный многомерный массив.

 

При работе с массивами в языке программирования PHP множество задач решается с помощью перебора их элементов. Для этого используют рассмотренные в прошлых уроках циклические конструкции (for, whilе…) или конструкцию foreach, которая была специально создана для работы с массивами.

Пример перебора массива с помощью цикла while:

<?php $goroda = array (''Токио'', ''Пекин'', ''Москва''); $index = 0; $elements = count ($goroda); while ($index < $elements) { echo $index+1. ''.''. $goroda[$index]. ''<br>''; $index++; } ?>

В результате работы этого скрипта мы увидим на экране следующую информацию:

1. Токио

2. Пекин

3. Москва

Вначале создается массив $goroda с 3 элементами:

$goroda [0] = ''Токио'',

$goroda [1] = ''Пекин'',

$goroda [2] = ''Москва''

Потом инициализируются 2 переменные: $index и $elements. Первая выступает ключом (индексом) для последующего обращения внутри цикла к элементам массива. Эта переменная получила значение 0, так как индексация массивов в PHP начинается с нуля.

Переменная $elements получила значение, которое вернула встроенная функция count(). Встроенная функция count() возвращает количество элементов массива, имя которого задается в аргументе. В примере 3 элемента, поэтому значение $elements будет равняться трем.

Итерация в цикле согласно условию выполняется до тех пор, пока индекс элементов не будет равняться максимальному количеству элементов в перебираемом массиве (не забываем, что переменная $index равна нулю, а не единице). На экран при помощи команды echo выводится результат операции конкатенации. В конце выполняется инкремент (увеличение переменной $index на единицу). Не забывайте об этом шаге, так как он позволяет работать с последующими элементами массива и обеспечивает прекращение работы цикла, когда заданное условие выполнено.

Эту задачу также можно решить и с помощью конструкции foreach. Общий синтаксис этой конструкции следующий:

foreach (название_масссива as $value)  {операторы;}

 

Пример:

<?php $goroda = array (''Токио'', ''Пекин'', ''Москва''); foreach ($goroda as $value){ echo $value. ''<br>''; } ?>

 

Чаще всего конструкцию foreach в PHP используют для перебора ассоциативных массивов. Это можно увидеть на следующем примере:

<?php $goroda = array ( ''login'' => ''Admin'', ''paswd'' => ''gh360D12lJ'', ''email'' => ''adm@somemail.com'', ''profession'' => ''PHP programmer'' ); foreach ($goroda as $key => $value){ echo $key. '':''. $value. ''<br>''; } ?>

В результате получим:

login:Admin

paswd:gh360D12lJ

email:adm@somemail.com

profession:PHP programmer'

 

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

 

Функции

Функция – это некоторый набор команд, как правило, реализующих какую-либо законченную задачу, который хранится под некоторым именем Основная задача создания функций – это организация программы таким образом, чтобы правильно работающий код можно было многократно использовать не изменяя и не записывая снова.

То есть та часть программы, которая может понадобиться снова, записывают в виде функции и по мере необходимости просто вызывают эту функцию, указывая ее имя.

Существуют два типа функций: встроенные и пользовательские. Встроенные функции — это функции, которые за нас уже написали создатели языка программирования, и мы можем просто брать их и использовать. В PHP существуют тысячи готовых функций, которые вы можете найти в различных источниках [https://1st-network.ru/prog/in-functions].

Далее мы будем рассматривать только пользовательские функции.

Общая схема описания функции PHP такова:

<?php

function <имя функции>(<аргумент функции>) {

<тело функции>

return <результат выполнения функции>;

}

 

Так, например, пусть нам необходимо выяснить, является ли пользователь совершеннолетним:

<?php

function is_year($year) {

if ($year >16) {

   return true;

}

else{

return false;

}

     }

 

Мы описали функцию с именем is_year, которая принимает в качестве аргумента значение $year (например –возраст пользователя) и возвращает логическое значение True, если возраст больше 16 лет, и false – в противном случае.

 

В нужном месте программы эта функция может быть вызвана:

Пример использования функции:

 

<?php

$year = 15;

 

if (is_lyear($year)) {

print("Вы совершеннолетний");

}

else {

print ("Вы-несовершеннолетний");

}

}

 

Контрольные вопросы:

 

1. Назовите основные возможности языка PHP. Для решения каких задач он обычно применяется?

2. Как оформляется код на PHP? Какое расширение должен иметь файл, содержащий такой код?

3. Какого типа переменные используются в PHP? Как описывается тип переменных?

4. Каковы особенности использования кавычек в PHP?

5. Перечислите основные арифметические операции в PHP.

6. Опишите синтаксис условного оператора в PHP. Приведите примеры.

7. Какие основные логические операторы, используемые в PHP Вам известны?

8. Опишите назначение и синтаксис оператора while. Приведите примеры.

9. Опишите назначение и синтаксис оператора for. Приведите примеры.

10. Опишите назначение и синтаксис оператора do…while. Приведите примеры.

11. Поясните назначение массивов в языке PHP. Какие типы массивов здесь используются? Приведите примеры.

12. Поясните назначение и опишите принцип использования оператора foreach.

13.Для чего используются функции. Приведите пример.

 


 

РАЗДЕЛ 7. Применение PHP для работы с базой данных



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: