Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 12. Арифметические операции в PHP

Прежде чем перейти к подробному изучению новых для вас конструкций, а также их реализаций, опишем операции, используемые в РНР.

Такие операции, как + (сложение), — (вычитание), *(умножение) и / (деление), знакомы вам по математическим формулам еще со школьных времен. Посредством операций выражаются отношения между данными. Существует множество операций, которые вам знакомы, еще больше могут быть неизвестны, а есть немало таких, которые вы можете не считать


ВНИМАНИЕ

Настоятельно рекомендуем: если вы не уверены в правильности применения операций (имеется в виду последовательности выполнения), уточняйте их расстановкой скобок.

СОВЕТ

В этой главе приведен полный список операций РНР. По конкретным вопросам назначения и использования отдельных операций обращайтесь к документации по РНР (www.php.net).


Поняв сам принцип употребления операций, вы сможете без проблем перейти кдальнейшему изучению языка РНР. В данной главе будет уделено внимание следующим

• приоритет операций;

• одноместные операции;

• двухместныеоперации;

• арифметические операции;

• операции назначения;

• поразрядные операции;

• операции сравнения;

• операции контроля ошибок;

• логические операции;

• строковые операции.

12.1. Приоритет операций

Приоритет определяет, к какому операнду относится операция и порядок вычисления операций. Некоторые операции в разных контекстах имеют различный смысл, например операция () (скобки) может обозначать как вызов функции, так и приведение типа. Конкретный контекст определяет, в частности, приоритет операций.

Некоторые операции вам хорошо знакомы и вычисляются в привычном порядке. Например, во фрагменте:

$b+$c*$d

согласно правилам вычисления арифметических выражений, сначала производится умножение $c*$d, а потом прибавляется $b:

<?

$а=3;

$b=2;

$с=4;

$а+$b*$с;

?>

результат будет 1 1, но ни в коем случае не 20, так как оператор «*» имеет более высокий приоритет, чем оператор

Если порядок вычисления последовательности операций не вполне понятен, его можно прояснить расстановкой скобок. Например, предыдущий фрагмент примет вид:

($b+($c*$d))

Здесь порядок операций однозначно ясен, хотя для компилятора обе записи совершенно равноценны. Что касается скоростей обработки этихдвух выражений, то они приблизительно равны.


СОВЕТ

Операции - это фундамент выражений, поэтому с теми, которые вам незнакомы, следует экспериментировать.


В табл. 12.1 приведен список операций, применяемых в РНР. В ней операции приведены в порядке убывания их приоритета, т. е. элементы, имеющие более высокий приоритет, выполняются всегда первыми, имеющие более низкий приоритет — вторыми и т. д.

Таблица 12.1. Приоритет операций

<< Предыдущий параграф Следующий параграф >>
Оглавление