|
возвращает целое число (то есть, результат деления нацело),
если оба
выражения a и b — целого типа (или же строки, выглядящие как целые числа), в
против-
ном случае результат будет дробным. Операция вычисления остатка от деления %
работает
только с целыми числами, так что применение ее к дробным может привести к,
мягко го-
воря, нежелательному результату.
Строковые операции
r a.b — слияние строк a и b
r a[n] — символ строки в позиции n
Собственно, других строковых операций и нет — все остальное, что можно сделать
со
строками в PHP, выполняют стандартные функции.
Операции присваивания
Основным из этой группы операций является оператор присваивания =. Еще раз на-
помню, что он не обозначает "равенство", а говорит интерпретатору, что значение
правого выражения должно быть присвоено переменной слева. Например:
$a = ($b = 4) + 5;
После этого $a равно 9, а $b равно 4.
Обратите внимание на то, что в левой части всех присваивающих операторов
должна стоять переменная или ячейка массива.
Помимо этого основного оператора, существует еще множество комбинированных —
по одному на каждую арифметическую, строковую и другую операцию. Например:
$a = 10;
$a += 4; // i.eaaaeou e $a 4
$s = "Hello";
$s .= " world!"; // oaia.u a $s "Hello world!"
Думаю, не стоит особо на них задерживаться.
Операции инкремента и декремента
Для операций $a+=1 и $b-=1 в связи с их чрезвычайной распространенностью в PHP
ввели, как и в Си, специальные операторы. Итак:
r $a++ — увеличение переменной $a на 1;
r $a-- — уменьшение переменной $a на 1.
Как и в языке Си, эти операторы увеличивают или уменьшают значение переменной,
а в выражении возвращают значение переменной $a до изменения. Например:
Глава 7. Переменные, константы, выражения 137
$a=10;
$b=$a++;
echo "a=$a, b=$b"; // auaaaao a=11, b=10
Как видите, сначала переменной $b присвоилось значение переменной $a, а уж
затем
последняя была инкрементирована. Впрочем, выражение, значение которого при-
сваивается переменной $b, может быть и сложнее — в любом случае, инкремент $a
произойдет только после его вычисления.
Существуют также парные рассмотренным операторы, которые указываются до, а не
после имени переменной. Соответственно, и возвращают они значение переменной
уже после изменения. Вот пример:
$a=10;
$b=--$a;
echo "a=$a, b=$b"; // auaaaao a=9, b=9
Операторы инкремента и декремента на практике применяются очень часто. Напри-
мер, они встречаются практически в любом цикле for.
Битовые операции
Эти операции предназначены для работы (установки/снятия/проверки) групп битов в
целой переменной. Биты целого числа — это не что иное, как отдельные разряды
того
же самого числа, записанного в двоичной системе счисления. Например, в двоичной
системе число 12 будет выглядеть как 1100, а 2 — как 10, так что выражение 12|2
вернет нам число 14 (1110 в двоичной записи). Если переменная не целая, то она
вна-
чале округляется, а уж затем к ней применяются перечисленные ниже операторы.
r a & b — результат — число, у которого установлены только те биты, которые
установлены и у a, и у b одновременно.
r a | b — результат — число, у которого установлены только те биты, которые
установлены либо в a, либо в b (либо одновременно).
r ~ a — результат, у которого на месте единиц в a стоят нули, и наоборот.
r a << b — результат — число, полученное поразрядным сдвигом a на b битов
влево.
r a >> b — аналогично, только вправо.
Операции сравнения
Это в своем роде уник
|
|