пятница, 12 октября 2012 г.

Операторы в PHP (часть 2)

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

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


Типы операторов

  • Арифметические
  • Присвоения
  • Битовые
  • Сравнения
  • Контроля ошибок
  • Выполнения
  • Инкремента/декремента
  • Логические
  • Строковые
  • Операторы массивов
  • Операторы типов

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

PHP может сравнивать переменных двумя способами: сравнением по значению и сравнением по значению и типу.
НазваниеПримерРезультат
Равено$a == $bTRUE если $a равно $b
Идентично$a === $bTRUE если $a равно $b и тип данных $a равен типу данных $b
Не равно$a != $b или $a <> $bTRUE если $a не равно $b
Не идентично$a !== $bTRUE если $a не равно $b и/или тип данных $a не равен типу данных $b
Меньше$a < $bTRUE если $a меньше $b
Больше$a > $bTRUE если $a больше $b
Меньше или равно$a <= $bTRUE если $a меньше или равно $b
Больше или равно$a >= $bTRUE если $a больше или равно $b
<?php

    $a = 100;   // целочисленная
    $b = '100'; // строковая

    var_dump($a == $b);    // выведет bool(true)
?>


Логические операторы

Логические операторы схожи с битовыми по принципу действия. Не надо забывать, что битовые операции И/ИЛИ обозначается одним символом, а логическая - двумя или специальным словом.

НазваниеПримерРезультат
AND (И)$a && $b или $a and $bTRUE если оба операнда TRUE
OR (ИЛИ)$a || $b или $a or $bTRUE, если хотя бы один оператор TRUE
XOP (ИЛИ-НЕ)$a xor $bTRUE, когда только один из операторов TRUE
NOT (Отрицание)!$aTRUE, когда операнд FALSE
<?php

    $a = true;
    $b = false;

    $and = $a && $b; // $and = FALSE
    $or = $a || $b;  // $or  = TRUE
    $xor = $a xor $b; // $xor = TRUE
    $not = !$a;     // $not = FALSE

?>

На заметку: операция присвоения дает TRUE если присвоение прошло успешно и присвоенное значение не равно FALSE. Поэтому следующий код выполняется без ошибок, но выполняется некорректно:


<?php

    $a = 'первое значение';

    if($b = 200)
        $a = 'второе значение';

    echo $a;

?>

Операторы массивов

НазваниеПримерРезультат
Объединение$a + $b или $a and $bОбъединение двух массивов
Эквивалентность$a == $b или $a or $bTRUE, если массивы имеют одинаковый набор пар "ключ/значение"
Идентичность$a === $bTRUE, если массивы имеют одинаковый набор пар "ключ/значение", в одинаковом порядке и одинакого типа
Неэквивалентность$a != $b или $a <> $bTRUE, если массивы имеют различный набор пар "ключ/значение"
Неидентичность$a !== $bTRUE, если массивы имеют различный набор пар "ключ/значение", в одинаковом порядке и одинакого типа

Оператор объединения "+" добавляет элементы правого операнда к списку элементов левого операнда. При этом совпадающие пары "ключ/значение" не перезаписываются, а пропускаются.
Подробно мы рассмотрим операторы работы с массивами в соответствующей главе.

Комментариев нет:

Отправить комментарий