# ШАГ 5. ПРОГРАММИРУЕМЫЙ КАЛЬКУЛЯТОР. Сегодня рассмотрим все возможные операции на всеми возможными типами переменных и их значениями. ## АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ А рифметических операция в PHP всего пять, вот они: `$a + $b $a - $b $a * $b $a / $b $a % $b` Я думаю здесь все ясно. Ну можеттолко поясню последнюю операцию, результат ее выполнения остаток от деления `$a` на `$b`. ## СТРОКОВЫЕ ОПЕРАЦИИ Ха! А здесь и того меньше! Чисто строковой операцией считается операция сложения двух строк. Причем выглядит она довольно необычно, но практично: `$c = $a . $b;` То есть символом этой операции является точка. А результатом ее выполнения будет обыкновенная строка, состоящая из `$a` и `$b` ## ОПЕРАЦИЯ ПРИСВАИВАНИЯ Ну тут вообще ничего сложного, она всегда одна, это знак `'='` и естественно этот знак означает, что переменной с лева от него будет присвоенное значение, полученное в результате выполнения каких либо операций или переменной/константы с правой стороны. Причем тут возомжно некоторый С++ -ные варианты, как-то: $a = ($b = 4) + 5; // $a будет равна 9, а $b 4-м. $a += 5; // аналогично $a = $a + 5; $b = "Привет "; $b .= "всем!"; // аналогично $b="Привет всем!" ## ДВОИЧНЫЕ ОПЕРАЦИИ Аа... и тут вообщем-то ничего нового: `$a & $b` Побитовое И (AND) `$a | $b` Побитовое ИЛИ (OR) `~ $a` Исключающее или (XOR) `$a << $b` Сдвиг влево на $b битов `$a >> $b` Сдвиг вправо на $b битов ## ЛОГИЧЕСКИЕ ОПЕРАЦИИ Все тоже... `$a and $b`И (AND) `$a && $b`Тоже самое, что и предыдущее `$a or $b`Или (OR) `$a || $b`Тоже, что и предыдущее `$a xor $b`Исключающее или (XOR) `! $a`Инверсия (NOT) ## ОПЕРАЦИИ СРАВНЕНИЯ Здесь будет что-нибудь новое или нет? Даже комментировать эти операции не буду... `$a == $b $a != $b $a < $b $a > $b $a <= $b $a >= $b` В PHP существует также, как и в C++, тринарный оператор `'?:'`. Кто незнает - обьясню на примере. $res= (expr1) ? (expr2) : (expr3); Результатом этой операции будет значение `(expr2)`, в том случае, если `expr1==1` и значение expr3 в противном случае. Где все эти `expr1, expr2, expr3` - являются переменными/константами или математиескими выражениями. Такая запись по сути своей аналогична следующей: if (expr1) $res=(expr2); else $res=(expr3); но естественно более лаконична. А собственно об этом и все. Мы рассмотрели все операции, присутсвующие в PHP. Слудующим шагом рассмотрим управляющие структуры (или их еще можно назвать командами).