- PHP Operators
- PHP Arithmetic Operators
- PHP Assignment Operators
- PHP Comparison Operators
- PHP Increment / Decrement Operators
- PHP Logical Operators
- PHP String Operators
- PHP Array Operators
- PHP Conditional Assignment Operators
- Основы языка PHP
- Переменные
- Пример 1
- Пример 2
- Пример 3
- Пример 4
- Пример 5
- Операторы
- Унарные операторы
- Арифметические операторы
- Оператор конкатенации
- Пример 6
- Операторы присваивания
- Битовые операторы
- Операторы сравнения
- Логические операторы
- Проверка содержимого переменной
- Управляющие структуры
- Условные операторы
- Оператор выбора
- Цикл с параметром
- Пример 7
- Циклы с условием
- Пример 8
- Пример 9
PHP Operators
Operators are used to perform operations on variables and values.
PHP divides the operators in the following groups:
- Arithmetic operators
- Assignment operators
- Comparison operators
- Increment/Decrement operators
- Logical operators
- String operators
- Array operators
- Conditional assignment operators
PHP Arithmetic Operators
The PHP arithmetic operators are used with numeric values to perform common arithmetical operations, such as addition, subtraction, multiplication etc.
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
+ | Addition | $x + $y | Sum of $x and $y | Try it » |
— | Subtraction | $x — $y | Difference of $x and $y | Try it » |
* | Multiplication | $x * $y | Product of $x and $y | Try it » |
/ | Division | $x / $y | Quotient of $x and $y | Try it » |
% | Modulus | $x % $y | Remainder of $x divided by $y | Try it » |
** | Exponentiation | $x ** $y | Result of raising $x to the $y’th power | Try it » |
PHP Assignment Operators
The PHP assignment operators are used with numeric values to write a value to a variable.
The basic assignment operator in PHP is «=». It means that the left operand gets set to the value of the assignment expression on the right.
Assignment | Same as. | Description | Show it |
---|---|---|---|
x = y | x = y | The left operand gets set to the value of the expression on the right | Try it » |
x += y | x = x + y | Addition | Try it » |
x -= y | x = x — y | Subtraction | Try it » |
x *= y | x = x * y | Multiplication | Try it » |
x /= y | x = x / y | Division | Try it » |
x %= y | x = x % y | Modulus | Try it » |
PHP Comparison Operators
The PHP comparison operators are used to compare two values (number or string):
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
== | Equal | $x == $y | Returns true if $x is equal to $y | Try it » |
=== | Identical | $x === $y | Returns true if $x is equal to $y, and they are of the same type | Try it » |
!= | Not equal | $x != $y | Returns true if $x is not equal to $y | Try it » |
<> | Not equal | $x <> $y | Returns true if $x is not equal to $y | Try it » |
!== | Not identical | $x !== $y | Returns true if $x is not equal to $y, or they are not of the same type | Try it » |
> | Greater than | $x > $y | Returns true if $x is greater than $y | Try it » |
Less than | $x < $y | Returns true if $x is less than $y | Try it » | |
>= | Greater than or equal to | $x >= $y | Returns true if $x is greater than or equal to $y | Try it » |
Less than or equal to | $x | Returns true if $x is less than or equal to $y | Try it » | |
Spaceship | $x $y | Returns an integer less than, equal to, or greater than zero, depending on if $x is less than, equal to, or greater than $y. Introduced in PHP 7. | Try it » |
PHP Increment / Decrement Operators
The PHP increment operators are used to increment a variable’s value.
The PHP decrement operators are used to decrement a variable’s value.
Operator | Name | Description | Show it |
---|---|---|---|
++$x | Pre-increment | Increments $x by one, then returns $x | Try it » |
$x++ | Post-increment | Returns $x, then increments $x by one | Try it » |
—$x | Pre-decrement | Decrements $x by one, then returns $x | Try it » |
$x— | Post-decrement | Returns $x, then decrements $x by one | Try it » |
PHP Logical Operators
The PHP logical operators are used to combine conditional statements.
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
and | And | $x and $y | True if both $x and $y are true | Try it » |
or | Or | $x or $y | True if either $x or $y is true | Try it » |
xor | Xor | $x xor $y | True if either $x or $y is true, but not both | Try it » |
&& | And | $x && $y | True if both $x and $y are true | Try it » |
|| | Or | $x || $y | True if either $x or $y is true | Try it » |
! | Not | !$x | True if $x is not true | Try it » |
PHP String Operators
PHP has two operators that are specially designed for strings.
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
. | Concatenation | $txt1 . $txt2 | Concatenation of $txt1 and $txt2 | Try it » |
.= | Concatenation assignment | $txt1 .= $txt2 | Appends $txt2 to $txt1 | Try it » |
PHP Array Operators
The PHP array operators are used to compare arrays.
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
+ | Union | $x + $y | Union of $x and $y | Try it » |
== | Equality | $x == $y | Returns true if $x and $y have the same key/value pairs | Try it » |
=== | Identity | $x === $y | Returns true if $x and $y have the same key/value pairs in the same order and of the same types | Try it » |
!= | Inequality | $x != $y | Returns true if $x is not equal to $y | Try it » |
<> | Inequality | $x <> $y | Returns true if $x is not equal to $y | Try it » |
!== | Non-identity | $x !== $y | Returns true if $x is not identical to $y | Try it » |
PHP Conditional Assignment Operators
The PHP conditional assignment operators are used to set a value depending on conditions:
Operator | Name | Example | Result | Show it |
---|---|---|---|---|
?: | Ternary | $x = expr1 ? expr2 : expr3 | Returns the value of $x. The value of $x is expr2 if expr1 = TRUE. The value of $x is expr3 if expr1 = FALSE | Try it » |
?? | Null coalescing | $x = expr1 ?? expr2 | Returns the value of $x. The value of $x is expr1 if expr1 exists, and is not NULL. If expr1 does not exist, or is NULL, the value of $x is expr2. Introduced in PHP 7 | Try it » |
Основы языка PHP
Константы определяются в PHP-программе с помощью функции define( ). Например:
После определения константа не может быть изменена. В имени константы обычно используются только заглавные буквы.
PHP имеет ряд предопределенных констант. Например:
- _FILE_ содержит имя файла, включая полный путь, который в данный момент читает PHP
- _LINE_ содержит номер строки этого файла
- __DIR__ представляет только путь к файлу
- __CLASS__ представляет имя текущего класса
- __FUNCTION__ представляет имя текущей функции
- __METHOD__ представляет имя текущего метода
- __NAMESPACE__ представляет имя текущего пространства имен
Переменные
Имя любой переменной в PHP начинается со знака $. Имена переменных чувствительны к регистру символов.
Тип переменной не требуется задавать специально. Конкретный тип переменной устанавливается и меняется в ходе выполнения программы.
PHP поддерживает восемь типов данных:
- логический (принимает значения true или false );
- целое число;
- вещественное число с плавающей точкой;
- строка;
- объект;
- массив;
- ресурс (специальный тип);
- null (специальный тип).
Тип переменной можно проверить с помощью функции gettype().
Пример 1
"; $t += 2; echo "t = $t -- ".gettype($t)."
"; $t = $t + 3.5; echo "t = $t -- ".gettype($t)."
"; $t = 5 + "5 поросят"; echo "t = $t -- ".gettype($t)."
"; $t = 5.0 + "5 поросят"; echo "t = $t -- ".gettype($t); ?>
Тип переменной можно изменить с помощью функции settype().
Пример 2
"; settype($t,"string"); echo "t = $t -- ".gettype($t)."
"; settype($t,"integer"); echo "t = $t -- ".gettype($t)."
"; settype($t,"double"); echo "t = $t -- ".gettype($t)."
"; settype($t,"boolean"); echo "t = $t -- ".gettype($t); ?>
Приведение типа переменной осуществляется с помощью операторов:
- (bool) — к логическому типу;
- (int) — к целому числу;
- (double) — к вещественному числу;
- (string) — к строке;
- (array) — к массиву;
- (object) — к объекту.
Отличие от изменения типа с помощью функции settype() состоит в том, что оператор приведения создает временную копию нового типа, оставляя саму переменную без изменений.
Пример 3
"; $tmp = (int) $t; echo "tmp = $tmp -- ".gettype($tmp)."
"; $tmp = (double) $t; echo "tmp = $tmp -- ".gettype($tmp)."
"; $tmp = (bool) $t; echo "tmp = $tmp -- ".gettype($tmp)."
"; echo "t = $t -- ".gettype($t); ?>
Иногда для упрощения логики программы удобнее использовать переменные имена переменных. PHP предоставляет такую возможность в виде динамических переменных. Динамической называют переменную, имя которой хранится в ней самой.
Пример 4
"; echo "$t $
"; echo "$t $Всем"; ?>
В PHP возможно обращение к одной и той же переменной с использованием различных имен. Для реализации этого используются ссылки. Ссылки позволяют двум или большему количеству переменных ссылаться на одну и ту же область памяти.
Пример 5
&$t1; echo "t1 = $t1; t2 = $t2
"; $t1 = 315; echo "t1 = $t1; t2 = $t2"; ?>
Операторы
Операторы PHP напоминают общеизвестные операторы языка Си.
Унарные операторы
— | Изменение знака на противоположный |
! | Дополнение. Используется для реверсирования значения логических переменных |
++ | Увеличение значения переменной. Может применяться и как префикс, и как суффикс |
— | Уменьшение значения переменной. Может применяться и как префикс, и как суффикс |
Арифметические операторы
Оператор конкатенации
Оператор конкатенации «.» присоединяет правую строку к левой.
Пример 6
Оператор конкатенации обрабатывает операнды любых типов как строки. Результат его выполнения всегда является строкой.
Операторы присваивания
= | Присваивание |
+= | Сложение ($n += 777; аналогично $n = $n + 777;) |
-= | Вычитание ($n -= 777; аналогично $n = $n — 777;) |
*= | Умножение |
/= | Деление |
%= | Остаток от деления |
.= | Конкатенация ($n .= «777»; аналогично $n = $n.»777″;) |
Битовые операторы
Битовые операторы позволяют изменять отдельные биты целых чисел.
& | И |
| | ИЛИ |
^ | Исключающее ИЛИ |
~ | Инверсия |
>> | Сдвиг вправо |
Сдвиг влево |
Операторы сравнения
> | Больше ( Больше ли первое значение, чем второе?) |
>= | Больше или равно ( Верно ли, что первое значение не меньше второго?) |
Меньше ( Меньше ли первое значение, чем второе?) | |
Меньше или равно (Верно ли, что первое значение не больше второго?) | |
== | Равно (Равнозначны ли значения двух переменных?) |
=== | Идентично (Одинаковы ли как значения, так и типы двух переменных?) |
!= , <> | Не равно (Не равны ли значения двух переменных?) |
!== | Не идентично (Не одинаковы ли значения или типы данных двух переменных?) |
Логические операторы
Логические операторы отличаются от битовых тем, что работают не с числами, а с логическими значениями: true и false .
and | И |
or | ИЛИ |
xor | Исключающее ИЛИ |
! | Инверсия |
>> | Сдвиг вправо |
Сдвиг влево | |
&& | И |
|| | ИЛИ |
Логические операторы «И» и «ИЛИ» имеют два формата. Это не синонимы. Дело в том, что оператор or имеет приоритет ниже, чем ||, а and — ниже, чем &&. Таким образом, при построении сложных условных выражений можно обойтись без скобок. Однако, в таком способе указания порядка проще и запутаться.
Проверка содержимого переменной
Иногда необходимо проверить, существует ли переменная или какое она имеет значение. Ниже приведены функции, позволяющие выполнить такие действия.
isset($имя_переменной) #Истина, если переменная объявлена даже без присваивания значения.
empty($имя_переменной) #Истина, если значение переменной равно нулю или пустой строке, либо переменная не объявлена. true , если переменная не объявлена:
! isset($имя_переменной)
Управляющие структуры
Условные операторы
В языке PHP два условных оператора: if и ?.
Существует три типа оператора if. Первый тип — базовый условный оператор. Например:
Альтернативный синтаксис оператора if:
if ($a > $b): echo "А больше Б"; endif;
Второй тип — условный оператор if-else. Например:
Альтернативный синтаксис оператора if-else:
if ($a > $b): echo "А больше Б"; else: echo "А не больше Б"; endif;
Третий тип — условный оператор if-elseif. Например:
Альтернативный синтаксис оператора if-elseif:
if ($a > $b): echo "А больше Б"; elseif ($a == $b): echo "А равно Б"; else: echo "А меньше Б"; endif;
Условный оператор ? возвращает одно из двух значений, разделенных двоеточием. Использование оператора ? может сделать более компактным текст программы. Например:
$text = ($a == $b) ? "А равно Б" : "А не равно Б"; echo $text;
Оператор выбора
Оператор выбора switch оценивает одно выражение и в зависимости от его значения выполняет один из нескольких блоков программы. Выражение в операторе switch чаще всего бывает простой переменной. Например:
Альтернативный синтаксис оператора switch:
switch ( $a ): case 1: echo "А равно 1"; break; case 2: echo "А равно 2"; break; case 3: echo "А равно 3"; break; default: echo "А не равно ни 1, ни 2, ни 3"; endswitch;
Цикл с параметром
Цикл с параметром for относится к наиболее старому и заслуженному виду цикла.
Пример 7
Альтернативный синтаксис оператора for:
Циклы с условием
В языке PHP сущеcтвует два типа цикла с условием:
Оператор while оценивает значение условия и, если оно истинно, выполняет действия в фигурных скобках (тело цикла). Как только значение условия станет ложным, выполнение цикла прекращается.
Пример 8
Замечание для продвинутых: сокращенная запись не сработает как ожидается:
while ( $a "; // так не работает. >
Альтернативный синтаксис оператора while:
Цикл do .. while отличается от цикла while лишь тем, что истинность условия проверяется не до, а после выполнения тела цикла.
Пример 9
"; $a++; > while ( $a
квадрат 11 равен 121 квадрат 12 равен 144 квадрат 13 равен 169 квадрат 14 равен 196 квадрат 15 равен 225 квадрат 16 равен 256 квадрат 17 равен 289 квадрат 18 равен 324 квадрат 19 равен 361
В организации цикла могут участвовать еще два оператора: break (выход из цикла) и continue (переход на следующий шаг).