- •Лабораторная работа №1
- •Методические рекомендации и порядок выполнения работы
- •Вставка в html
- •Теги вставки кода php
- •Особенности языка
- •Область видимости переменных.
- •Переменные переменные.
- •Массивы
- •Определение при помощи array()
- •Создание/модификация с помощью синтаксиса квадратных скобок
- •Операторы Арифметические операторы
- •Оператор присвоения
- •Побитовые операторы
- •Операторы сравнения
- •Операторы инкремента и декремента
- •Логические операторы
- •Строковые операторы
- •Операторы управления
Оператор присвоения
Базовый оператор присвоения обозначается как =. На первый взгляд может показаться, что это оператор "равно". На самом деле это не так. В действительности, оператор присвоения означает, что левый операнд получает значение правого выражения, (т.е. устанавливается результирующим значением).
Побитовые операторы
Побитовые операторы позволяют устанавливать конкретные биты в 0 или 1 для целочисленных значений. В случае если и левый, и правый операнды строки, побитовые операции будут работать с их ASCII-представлениями.
Пример 14:
<?php echo 12 ^ 9; // Выведет '5' echo "12" ^ "9"; // Отобразит симовол возврата каретки (ascii 8) // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8 echo "hallo" ^ "hello"; // Выведет следующие ASCII-значения: #0 #4 #0 #0 #0 // 'a' ^ 'e' = #4 ?> |
Пример |
Название |
Результат |
$a & $b |
Побитовое 'и' |
Устанавливаются только те биты, которые установлены и в $a, и в $b. |
$a | $b |
Побитовое 'или' |
Устанавливаются те биты, которые установлены либо в $a, либо в $b. |
$a ^ $b |
Исключающее или |
Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b |
~ $a |
Отрицание |
Устанавливаются те биты, которые в $a не установлены, и наоборот. |
$a << $b |
Сдвиг влево |
Все биты переменной $a сдвигаються на $b позиций влево (каждая позиция подразумевает 'умножение на 2') |
$a >> $b |
Сдвиг вправо |
Все биты переменной $a сдвигаються на $b позиций вправо (каждая позиция подразумевает 'деление на 2') |
Операторы сравнения
Операторы сравнения, как это видно из их названия, позволяют сравнивать между собой два значения.
Пример |
Название |
Результат |
$a == $b |
Равно |
TRUE если $a равно $b. |
$a === $b |
Тождественно равно |
TRUE если $a равно $b и имеет тот же тип. (Добавлено в PHP 4) |
$a != $b |
Не равно |
TRUE если $a не равно $b. |
$a <> $b |
Не равно |
TRUE если $a не равно $b. |
$a !== $b |
Тождественно не равно |
TRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4) |
$a < $b |
Меньше |
TRUE если $a строго меньше $b. |
$a > $b |
Больше |
TRUE если $a строго больше $b. |
$a <= $b |
Меньше или равно |
TRUE если $a is меньше или равно $b. |
$a >= $b |
Больше или равно |
TRUE если $a больше или равно $b. |
В случае, если вы сравниваете целое со строкой, строка будет преобразована к числу. В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа.
Эти правила также распространяются на оператор switch.
Пример 15:
<?php var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // Эта ветка никогда не будет достигнута, так как "a" уже сопоставленно с 0 echo "a"; break; } ?> |
Еще одним условным оператором является тернарный оператор "?:".
Пример 16:
<?php // Пример использования тернарного оператора $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; // Приведенный выше код аналогичен следующему блоку с использованием if/else if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?> |
Выражение (expr1) ? (expr2) : (expr3) интерпретируется следующим образом: Выполнить expr2 если expr1 вычисляется в TRUE, или expr3 если expr1 вычисляется в FALSE.