Операции над переменными в PHP
Константы в PHP
Константы в PHP фактически являются переменными, значения которых нельзя изменить в программе (такие переменные аналогичны переменным с квалификатором const в C и переменным с модификатором final в Java). Имена констант принято записывать большими буквами с использованием символов подчеркивания – "_". Имя константы не содержит префикса "$".
Константы бывают двух типов: предопределенные (то есть устанавливаемые самим интерпретатором) и определяемые программистом.
Примерами предопределенных констант являются:
· __FILE__ – хранит имя файла программы, которая выполняется в данный момент;
· __LINE__ – содержит текущий номер строки, которую обрабатывает интерпретатор;
· PHP_VERSION – версия интерпретатора РНР;
· PHP_OS - имя операционной системы, под которой работает РНР;
· M_PI и M_E – значения p и e.
Другие предопределенные константы будут рассмотрены в тех разделах, в которых они используются.
Значение константы можно получить с помощью функции
constant(имя-константы).
Собственные константы определяются с помощью функции
define($name, $value, $case);
Параметр $name определяет имя константы, а параметр $value – ее значение (константа может быть только скалярного типа). Если необязательный параметр $case равен true, то в дальнейшем в программе регистр букв константы учитывается, если false, то не учитывается (по умолчанию, значение параметра $case равно true).
Получить список констант (как предопределенных, так и заданных с помощью оператора define()) можно с помощью функции
get_defined_constants(),
а проверить, существует, ли константа с указанным именем – с помощью функции
defined(имя-константы),
которая возвращает true, если константа с указанным именем существует и false – в противном случае.
Пример 4.6.23. Получение и задание константы:
1. Предложение
$OSName = constant("PHP_OS");
для операционной системы Windows XP).
2. Предложение
define("TEST_STRING", "Test string");
определяет константу с именем TEST_STRING и значением "Test string":
3. Предложение
$isTSDefined = defined("TEST_STRING");
для определенной в предыдущем примере константы TEST_STRING присвоит переменной $isTSDefined значение true.
Оператор присваивания "=" присваивает переменной слева от оператора присваивания значение выражения, находящегося справа от оператора присваивания.
Арифметические операторы выполняют действия над переменными, значения которых могут быть преобразованы в числа.
Состав арифметических операторов тот же, что и в других языках программирования: "+" (оператор сложения), "-" (оператор вычитания), "*" (оператор умножения), "/" (оператор деления) и "%" (оператор определения остатка от деления целых чисел). Операция деления в PHP всегда возвращает значение типа float, даже если оба операнда – целые числа.
Для чисел определены также унарные арифметические операторы:
· взятие знака ("+" или "-");
· операция инкремента ("++") – увеличение значения переменной на 1;
· операция декремента ("--") – уменьшение значения переменной на 1.
Операции инкремента и декремента могут использоваться как в префиксной (например, ++$a), так и в постфиксной (например, $a++) форме. В первом случае значение операнда возвращается после вычисления выражения, во втором случае сначала возвращается значение операнда и только после этого вычисляется выражение.
Пример 4.6.24. Сравнение префиксной и постфиксной записи инкремента:
$x = 1;
$y = 1;
$z = ++$x;
…
$z = $y++;
В первом операторе присваивания переменной $z будет присвоено значение 2, поскольку сначала значение $x будет увеличено на 1, а затем результат будет присвоен переменной $z. Во втором операторе переменной $z будет присвоено значение 1, поскольку сначала переменной $z будет присвоено значение, а затем значение $x будет увеличено на 1. В обоих случаях новые значения переменных $x и $y будут равны 2.
Особенностью PHP является возможность использовать оператор присваивания внутри выражений.
Пример 4.6.25. Использование оператора присваивания внутри выражений:
Оператор:
$a = ($b = 4) + 5;
присваивает переменной $b значение 4, а затем присваивает переменной $a значение 9.