Аргерих Л. О языке РНР. Часть 1. Страница 69


Второй пример осуществляет форматирование британской денежной едини­цы:

$Value2 = 23;

$Value2 = sprintf("?%.2f, $Value2); echo($Value2);

и выводит следующий результат:

723.00

Спецификатор преобразования с плавающей точкой просто сообщает функции, что надо оставить только два знака после десятичной точки. За­полнение или минимальная длина не заданы, поэтому число слева от точки может иметь любой размер.

Операции над числами

Основные операторы, предназначенные в РНР для выполнения математи­ческих действий, знакомы из школьной программы по математике. Вот они (табл. 3.2):

Таблица 3.2. Арифметические операторы

Как правило, если оба аргумента целые, то и результат получается целым, но если один из операндов - величина с плавающей точкой, то и результат будет величиной с плавающей точкой, даже если в нем нет дробной части. 1,5 плюс 1,5 дает 3,0, а не 3.

Для всех этих операторов существуют версии с присваиванием. Чтобы не пи­сать $а = $а + $Ь,можносокращенно записать $а += $Ь. Аналогичные варианты есть для всех приведенных выше операторов.

Для сложения и вычитания есть еще два сокращенных оператора: инкре­мента (++) и декремента (--). В применении этих унарных операторов есть од­на тонкость, связанная с их расположением перед операндом или после не­го. В приведенных ниже примерах это различие несущественно и просто уве­личивает значение переменной. Оба фрагмента кода равносильны:

$а = 1; Sa++;

$а = 1; ++$а;

Различие обнаруживается, если посмотреть на результат операции инкре­мента в том и другом случае. Мы уже говорили, что все операции фактичес­ки являются выражениями - они возвращают значения. Следующий код выводит число 1:

$а = 1; echo($a++);

Дело в том, что постфиксный оператор инкремента возвращает значение операнда, которое увеличивает затем на единицу. С другой стороны, код

$а = 1; echo(++$a);

выводит 2. Префиксный оператор инкремента сначала выполняет инкре- ментирование, а затем возвращает полученное значение. Оператор декре­мента действует таким же образом.

Поразрядные операторы

Другая группа операторов также обрабатывает числовые значения - пораз­рядные операторы. Они действуют над двоичными данными, представляю­щим целые числа как строки битов. Существуют поразрядные операторы AND (&), OR (|), XOR ("), NOT ("), операторы сдвига влево («) и сдвига впра­во (»). С их помощью можно создавать наборы булевых флагов. Вот пример группы флагов, обозначающих права пользователя:




В любой кабинет стоматолога необходимо стоматологическое оборудование, которое предоставляет компания Медпоставки. Ее высококвалифицированные специалисты всегда рады установить, отремонтировать или обслужить ваше новое оборудование.

Рассылка новостей