Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа1(основы синтаксиса PHP).doc
Скачиваний:
12
Добавлен:
13.08.2019
Размер:
160.77 Кб
Скачать

Оператор присвоения

Базовый оператор присвоения обозначается как =. На первый взгляд может показаться, что это оператор "равно". На самом деле это не так. В действительности, оператор присвоения означает, что левый операнд получает значение правого выражения, (т.е. устанавливается результирующим значением).

Побитовые операторы

Побитовые операторы позволяют устанавливать конкретные биты в 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.