Операторы в php
Оператор присваивания
$a += $b $a = $a + $b Addition
$a -= $b $a = $a - $b Subtraction
$a *= $b $a = $a * $b Multiplication
$a /= $b $a = $a / $b Division
$a %= $b $a = $a % $b Modulus
$a **= $b $a = $a ** $b Exponentiation
Побитовые операторы присваивания
Example Equivalent Operation
$a &= $b $a = $a & $b Bitwise And
$a |= $b $a = $a | $b Bitwise Or
$a ^= $b $a = $a ^ $b Bitwise Xor
$a <<= $b $a = $a << $b Left Shift
$a >>= $b $a = $a >> $b Right Shift
Другие операторы присваивания
Example Equivalent Operation
$a .= $b $a = $a . $b String Concatenation
$a ??= $b $a = $a ?? $b Null Coalesce
#Примеры
$a = 3;
$a += 5;
$b .= "There!";
#Присваивание значения по ссылке
$a = 3;
$b = &$a;
Примечание
Использование $text .= "дополнительный текст"; вместо $text = $text ."дополнительный текст"; может серьезно повысить производительность за счет эффективности выделения памяти.
Оператор присваивания сильнее, чем 'and', 'or' и 'xor'.
Операторы сравнения
Это нужно знать, более подробно описано на официальном сайте
Оператор контроля ошибок
При добавлении к выражению в PHP sign (@) любая диагностическая ошибка, которая может быть сгенерирована этим выражением, будет подавлена.
Замечание: Оператор @ работает только с выражениями. Есть простое правило: если что-то возвращает значение, значит, можно указать перед ним оператор @. Например, можно указать оператор @ перед именем переменной, произвольной функцией, вызовом выражения include и т. д. При этом нельзя указывать этот оператор перед определением функции или класса, условными конструкциями, например: if, foreach и т. д.
Операторы исполнения
В качестве операторов исполнения php поддерживает обратные машинописные апострофы или обратные кавычки (``)
$output";
?>
Логические операторы
$a and $b И true, если и $a, и $b true.
$a or $b Или true, если или $a, или $b true.
$a xor $b Исключающее или true, если $a, или $b true, но не оба.
! $a Отрицание true, если $a не true.
$a && $b И true, если и $a, и $b true.
$a || $b Или true, если или $a, или $b true.
У оператора «||» больший приоритет, чем у «or»
У оператора «&&» больший приоритет, чем у «and»
// Константа false присваивается переменной $f, а затем значение true игнорируется
// Действует как: (($f = false) or true)
$f = false or true;
// Действует как: ($g = (true && false))
$g = true && false;
// Константа true присваивается переменной $h, а затем значение false игнорируется
// Действует как: (($h = true) and false)
$h = true and false;
Операторы работающие с массивами
$a + $b Объединение массива $a с массивом $b
$a == $b true, если массив в переменной $a и массив в переменной $b содержат одни и те же пары ключ/значение
$a === $b (Тождественно равно) - вернет true, если те же пары ключ/значение в том же самом порядке и того же типа
$a != $b true, если массив в переменной $a не равен массиву в переменной $b
$a <> $b true, если массив в переменной $a не равен массиву в переменной $b
$a = array("a" => 'test', "b" => 'жест', "c" => 'протест' );
$b = array("a" => 'test', "b" => 'жест', "c" => 'протест', "e" => 'баклажан' );
$c = $a + $b;
var_dump($c); # array(4) { ["a"]=> string(4) "test" ["b"]=> string(8) "жест" ["c"]=> string(14) "протест" ["e"]=> string(16) "баклажан" }
$c = $a == $b;
echo "a равно b: ";
var_dump( $c );
Оператор проверки типа
instanceof - определяет относится ли сохраненный в переменной класс к классу, к классу-наследнику или реализует ли объект интерфейс
class MyClass {}
class NotMyClass {}
$a = new MyClass();
var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
Для проверки непринадлежности объекта классу, используется логический оператор not
var_dump(!($a instanceof stdClass));