Если вы используете несколько операторов одновременно в одном выражении, то нужно знать в каком порядке они будут выполнятся.
Эта таблица показывает операторы по убыванию приоритета (операторы с одним приоритетом выполняются слева на право):
new |
[ |
! ~ ++ -- (int) (float) (string) (array) (object) |
@ |
* / % |
+ -. |
< > |
< <= > >= |
& |
^ |
| |
&& |
|| |
?: |
= += -= *= /=.= %= &= |= ^= <= >= |
and |
xor |
or |
, |
Для изменения порядка выполнения операторов нужно использовать круглые скобки!
Оператор исполнения PHP
В PHP существует такой оператор, як оператор исполнения, он нужен для того чтобы выполнять команды ОС и использовать результат этого выполнения.
Любая строка, которая заключена в обратные апострофы — ` считаются как команда ОС. Например:
<?php$d = `dir d:\\`; echo $d;?>Как результат вы получите список директорий диска D.
Строковые операторы PHP
PHP имеет два строковых операторы.
Первый - оператор конкатенации., который объединяет две строки в одну.
Второй - конкатенирующий оператор присвоения.=, добавляет к строке нужное значение. Например:
<?php$d = "Hello";$f = $d." world"; // Теперь $f = "Hello world" echo $f; echo "<br/>"; $f.= "!!!"; // Теперь $f = "Hello world!!!" echo $f;?>Отображение в браузере:
Hello worldHello world!!!
Условный оператор IF в PHP
Во всех высокоуровневых языках программирования есть оператор if, в PHP синтаксис этого оператора такой:
if (exp) statementexp (выражение) - логическое выражение, которое может быть истиной (TRUE) или ложью (FALSE).
Например, выражение 100 > 1 это истина (TRUE).
statement (инструкция) выполняется тогда, когда exp — истина, и не выполняется когда exp ложь!
Например, если скорость машины будет больше 60 то это значит, что водитель превышает скорость:
|
Если нужно чтобы при выполнении условия выполнялись сразу несколько операторов, то нужно заключить их в фигурные скобки { и }:
<?php$speed = 80; if ($speed > 60) { // Начало echo "Превышение скорости! <br>"; echo "Пожалуйста, уменьшите скорость!";} // Конец?>Отображение в браузере:
Превышение скорости!Пожалуйста, уменьшите скорость!
Операторы сравнения PHP
При изучении условного оператора if мы использовали знак > в условии, так это и есть один из операторов сравнения в PHP! Все операторы сравнения которые есть в PHP указанные в таблице:
== | Равенство | Истина, если $a равно $b |
=== | Идентичность | Истина, если $a равно $b, и они одного и того же типа |
!= | Неравенство | Истина, если $a не равно $b |
<> | Неравенство | Истина, если $a не равно $b |
!== | Неидентичность | Истина, если $a не равно $b, или они не одного типа |
< | Меньше | Истина, если $a меньше $b |
> | Больше | Истина, если $a больше $b |
<= | Меньше или равно | Истина, если $a меньше или равно $b |
>= | Больше или равно | Истина, если $a больше или равно $b |
Стоить обратить внимание, что оператор сравнения записывается как ====, а не просто =.
<?php$speed = 45; if ($speed!= 60) echo "Скорость в пределах нормы";?>
Логические операторы PHP
Если нам нужно применить к выражению несколько условий, например: если больше 3 и меньше 6, то с помощью логических операторов мы можем это записать так:
<?php$speed = 40; if ($speed > 35 && $speed < 55) { echo "Скорость в пределах нормы";}?>Полный список логических операторов представленный в таблице:
|
and | Логическое "И" | Истина, если истинно $a и $b |
&& | Логическое "И" | Истина, если истинно $a и $b |
or | Логичесоке "ИЛИ" | Истина, если истинно $a или $b |
|| | Логическое "ИЛИ" | Истина, если истинно $a или $b |
xor | Логическое "Исключающее ИЛИ" | Истина, если истинно $a или $b, но не оба одновременно |
! | Логическое "НЕ" | Истина, если $a ложь |
Как вы видите, в таблице присутствуют два оператора "И" и "ИЛИ". Это потому, что оператор && или || имеет больший приоритет от "И" и "ИЛИ".
Оператор ELSE в PHP
Очень часто нужно при истинном значении выполнить одно действие, а при ложном другое. Для этого в PHP есть оператор else. Синтаксис оператора:
if (exp) statement1 else statement2Пример:
<?php$speed = 50; if ($speed > 60) echo "Превышение скорости!"; else echo "Скорость в пределах нормы"?>В этом случае будет выведено сообщение "Скорость в пределах нормы".
Оператор ELSEIF в PHP
Оператор if имеет еще одно расширение, это оператор elseif, он используется для последовательной проверки условий. Синтаксис:
if (exp) statement1 elseif (exp2) statement2Также можно записывать так:
if (exp) statement1 else if (exp2) statement2Пример:
<?php$speed = 50; if ($speed < 30) echo "Скорость в пределах нормы"; elseif ($speed == 30) echo "Ваша скорость 30 км/час"; elseif ($speed == 40) echo "Ваша скорость 40 км/час"; elseif ($speed == 50) echo "Ваша скорость 50 км/час"; elseif ($speed == 60) echo "Ваша скорость 60 км/час"; else echo "Превышение скорости!";?>Также, такой кусок кода можно записать и так:
<?php$speed = 50; if ($speed < 30) echo "Скорость в пределах нормы"; elseif ($speed >= 30 && $speed <= 60) echo "Ваша скорость {$speed} км/час"; else echo "Превышение скорости!";?>В этом случае будет выведено сообщение "Ваша скорость 50 км/час". А если бы не одно условие не подошло бы, то сработал бы оператор else и мы увидели "Превышение скорости!".
|
Тернарный оператор PHP
Тернарный оператор работает почти также как и оператор if, но при использовании тернарного оператора, мы вместо ключевых слов пишем? и:. Синтаксис:
$var = condition? exp1: exp2;Если условие выполняется, то переменной $var присваивается результат вычисления exp1, иначе exp2.
Пример:
<?php$speed = 55; echo ($speed <= 60)? "Скорость в пределах нормы": "Превышение скорости!";?>В результате мы увидим строку - "Скорость в пределах нормы".
Оператор SWITCH в PHP
Иногда даже использование конструкции операторов if.. elseif несколько утомляет.
Чтобы исправить эту ситуацию есть оператор switch. Синтаксис:
Сначала записывается ключевое слово switch, после которого в скобках записывается некоторое выражение.
Далее, после слова case нужно перечислить возможные варианты значений, если значение истина, то выполняется группа операторов, которые записаны до оператора break. Если ни одно условие не походит, то выполняется оператор default (если оператор default не записывать, то при не выполнении никаких других условий ничего не произойдет).
Также, при использовании оператора switch, мы можем записать несколько условий для некоторого действия:
<?php$speed = 55; switch ($speed){ case 30: case 58: echo "Скорость в пределах нормы"; break; case 70: echo "Превышение скорости!"; break; default: echo "Скорость в пределах нормы"; break; }?>В результате мы увидим — "Скорость в пределах нормы".
Цикл FOR в PHP
Основной задачей компьютеров есть обработка большого количества информации, которое у человека заняло бы очень много времени.
Для обработки таких задач компьютер использует циклы. Первым циклом которым мы начнем главу будет цикл for. Ниже приведен его синтаксис:
В выражение exp1 вставляют начальное значение для счетчика цикла — переменная, которая считает количество раз выполнения тела цикла.
exp2 — задает условие повторения цикла. Цикл будет выполнятся пока это условие будет true.
exp3 — выполняется каждый раз после выполенения тела цикла. Обычно, оно используется для изменения (увеличение или уменьшение) счетчика.
Пример:
Отображение в браузере:
Вывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 раз
Циклы WHILE в PHP
Цикл WHILE, вместо использования счетчика цикла проверяет некоторое условие до того, пока это условие Истина (TRUE). Синтаксис:
while (exp) statementУсловие проверяется перед выполнением цикла, если оно будет Ложным в начале, то цикл не выполнится ни разу!
В теле цикла должна быть переменная которая будет оказывать влияние на условие, чтобы предотвратить зацикливание. Пример:
Отображение в браузере:
Эта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 разПосле вывода строки, переменная $counter увеличивается на 1, и когда она станет больше или равна 5, то цикл завершится.
Цикл DO... WHILE в PHP
Главное отличие цикла DO... WHILE от WHILE в том, что первый сначала выполняется тело цикла, а потом проверяет условие. Т.е., если условие сразу Ложь, то цикл выполнится один раз.
Синтаксис
Использование цикла DO... WHILE:
<?php$counter = 6; do { echo "Эта строка выведется 1 раз <br>"; $counter++;} while ($counter < 5);?>В браузере мы получим такое:
Отображение в браузере:
Эта строка выведется 1 разТак как условие цикла сразу Ложь (6 > 5), то цикл выполнился всего один раз, так как сначала выполняется тело цикла, а потом проверяется условие цикла.
Цикл FOREACH в PHP
Цикл FOREACH представлен для упрощения работы с массивами (массивы будет рассмотрены дальше). Массивы состоят из отдельных элементов, цикл FOREACH предназначен для перебора этих элементов без счетчика.
Синтаксис:
Использование цикла:
<?php$array = array ("Apple", "Limon", "Chery", "Oranges"); foreach ($array as $value){ echo "Вы выбрали фрукт - $value <br>"; }?>Отображение в браузере:
Вы выбрали фрукт - Apple Вы выбрали фрукт - Limon Вы выбрали фрукт - Chery Вы выбрали фрукт - Oranges