Арифметические операторы
php, js
js (из примера убрать $)
выполнить арифметическое действие и сразу присвоить
Логические операторы
популярные
php, js
js (из примера убрать $)
непопулярные php
php
js
Операторы сравнения
Операторы инкремента и декремента
php, js
js (из примера убрать $)
php
js
Тернарный оператор
php
js
Приоритеты выполнения операторов
Побитовые операторы
редко используются
php, js
js (из примера убрать $)
| Пример | Название | Результат |
|---|---|---|
| -$a | Отрицание | Смена знака $a |
| $a + $b | Сложение | Сумма $a и $b |
| $a - $b | Вычитание | Разность $a и $b |
| $a * $b | Умножение | Произведение $a и $b |
| $a / $b | Деление | Частное от деления $a на $b |
| $a % $b | Деление по модулю | Целочисленный остаток от деления $a на $b |
| Пример | Эквивалент | Операция |
|---|---|---|
| $a += $b | $a = $a + $b | Сложение |
| $a -= $b | $a = $a - $b | Вычитание |
| $a *= $b | $a = $a * $b | Умножение |
| $a /= $b | $a = $a / $b | Деление |
| $a %= $b | $a = $a % $b | Модуль |
| $a **= $b | $a = $a ** $b | Возведение в степень |
Логические операторы
популярные
php, js
js (из примера убрать $)
| !$a | Отрицание | TRUE - если $a не TRUE. |
| $a && $b | Логическое 'и' | TRUE - если и $a, и $b TRUE. |
| $a || $b | Логическое 'или' | TRUE - если или $a, или $b TRUE. |
| $a and $b | Логическое 'и' | TRUE - если и $a, и $b TRUE. |
| $a or $b | Логическое 'или' | TRUE - если или $a, или $b TRUE. |
| $a xor $b | Исключающее 'или' | TRUE - если $a, или $b TRUE, но не оба |
php
$a = 10;
$b = 5;
echo '$a='.$a,' $b='.$b."<br>";
echo '-$a = '.(-$a)." - Отрицание<br>";
echo '$a + $b = '.($a + $b)." - Сложение<br>";
echo '$a - $b = '.($a - $b)." - Вычитание<br>";
echo '$a * $b = '.($a * $b)." - Умножение<br>";
echo '$a / $b = '.($a / $b)." - Деление<br>";
echo '$a % $b = '.($a % $b )." - Деление по модулю - Целочисленный остаток от деления $a на $b<br>";
$a = true;
$b = false;
if(!$a){
//НЕ выполнится
echo '!$a<br>';
}
elseif(!$b){
//выполнится
echo '!$b<br>';
}
if($a && $b){
//не выполнится
echo '$a && $b<br>';
}
elseif($a && !$b){
//выполнится
echo '$a && !$b<br>';
}
if($a || $b){
//выполнится
echo '$a || $b<br>';
} |
var a = 10;
var b = 5;
console.log('a=',a,' $b=',b);
console.log('-a = ',(-a)," - Отрицание");
console.log('a + b = ',(a + b)," - Сложение");
console.log('a - b = ',(a - b)," - Вычитание");
console.log('a * b = ',(a * b)," - Умножение");
console.log('a / b = ',(a / b)," - Деление");
console.log('a % b = ',(a % b )," - Деление по модулю - Целочисленный остаток от деления a на b");
a = true;
b = false;
if(!a){
//НЕ выполнится
console.log('!a');
}
else if(!b){
//выполнится
console.log('!b');
}
if(a && b){
//не выполнится
console.log('a && b');
}
else if(a && !b){
//выполнится
console.log('a && !b');
}
if(a || b){
//выполнится
console.log('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 не равно $b или в случае, если они разных типов (Добавлено в PHP 4) |
| $a < $b | Меньше | TRUE если $a строго меньше $b. |
| $a > $b | Больше | TRUE если $a строго больше $b. |
| $a <= $b | Меньше или равно | TRUE если $a is меньше или равно $b. |
| $a >= $b | Больше или равно | TRUE если $a больше или равно $b. |
Операторы инкремента и декремента
php, js
js (из примера убрать $)
| Пример | Название | Действие |
|---|---|---|
| ++$a | Префиксный инкремент | Увеличивает $a на единицу и возвращает значение $a. |
| $a++ | Постфиксный инкремент | Возвращает значение $a, а затем увеличивает $a на единицу. |
| --$a | Префиксный декремент | Уменьшает $a на единицу и возвращает значение $a. |
| $a-- | Постфиксный декремент | Возвращает значение $a, а затем уменьшает $a на единицу. |
php
$a = 10; $b = $a++; echo '$b = $a++; => $a='.$a.', $b='.$b."<br>"; //$b = $a++; => $a=11, $b=10 $a = 10; $b = ++$a; echo '$b = ++$a; => $a='.$a.', $b='.$b."<br>"; //$b = ++$a; => $a=11, $b=11 $a = 10; $b = $a--; echo '$b = $a--; => $a='.$a.', $b='.$b."<br>"; //$b = $a--; => $a=9, $b=10 $a = 10; $b = --$a; echo '$b = --$a; => $a='.$a.', $b='.$b."<br>"; //$b = --$a; => $a=9, $b=9 |
var a = 10;
var b = a++;
console.log('b = a++; => a=',a,', b=',b);
a = 10;
b = ++a;
console.log('b = ++a; => a=',a,', b=',b);
a = 10;
b = a--;
console.log('b = $a--; => a=',a,', b=',b);
a = 10;
b = --a;
console.log('b = --a; => a=',a,', b=',b); |
Тернарный оператор
php
$max = (b > a) ? b : a; |
max = (b > a) ? b : a; |
| Если b>a, то max присвоится b, иначе max присвоится a |
| Пример | Эквивалент | Операция |
|---|---|---|
| $a .= $b | $a = $a . $b | Конкатенация строк |
| $a ??= $b | $a = $a ?? $b | Объединение с Null |
<? $s = "какой-то текст"; $s = $s . " и к нему еще текст2"; $s .= ", и еще добавим текст3"; $s = "начальный ".$s; /* $s = $s + "а так не работает"; $s =. "и так не работает"; */ ?> $s равно:<br> <?=$s?> <?// начальный какой-то текст и к нему еще текст2, и еще добавим текст3 |
Приоритеты выполнения операторов
| Приоритет | Оператор | Порядок выполнения |
| 13 | (постфикс)++ (постфикс)-- | слева направо |
| 12 | ++(префикс) --(префикс) | справа налево |
| 11 | * / % | слева направо |
| 10 | + - | слева направо |
| 9 | << >> | слева направо |
| 8 | < <= > >= | слева направо |
| 7 | == != | слева направо |
| 6 | & | слева направо |
| 5 | ^ | слева направо |
| 4 | | | слева направо |
| 3 | && | слева направо |
| 2 | || | слева направо |
| 1 | = += -= *= /= %= >>= <<== &= ^= |= | справа налево |
Побитовые операторы
редко используются
| Пример | Название | Результат |
|---|---|---|
| $a & $b | Побитовое 'и' | Устанавливаются только те биты, которые установлены и в $a, и в $b. |
| $a | $b | Побитовое 'или' | Устанавливаются те биты, которые установлены либо в $a, либо в $b. |
| $a ^ $b | Исключающее или | Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b |
| ~ $a | Отрицание | Устанавливаются те биты, которые в $a не установлены, и наоборот. |
| $a << $b | Сдвиг влево | Все биты переменной $a сдвигаются на $b позиций влево (каждая позиция подразумевает 'умножение на 2') |
| $a >> $b | Сдвиг вправо | Все биты переменной $a сдвигаются на $b позиций вправо (каждая позиция подразумевает 'деление на 2') |