Константой называется именованная величина, которая не изменяется в процессе выполнения программы.
В отличие от переменной, вы не можете изменить значение константы, которое было ей присвоено при её объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).
В РНР константы определяются функцией define(). Эта функция имеет следующий формат:
define ($name, $value, $case_sen), где:
$name - имя константы; $value - значение константы; $case_sen - необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).
Пример определения и использования констант в PHP:
Если параметр $case_sen равен true, то интерпретатор будет учитывать регистр символов при работе с константой. Обратите внимание, что константы используются без предваряющего знака $.
Различия между константами и переменными:
· У констант нет приставки в виде знака доллара ($);
· Константы можно определить только с помощью функции define(), а не присваиванием значения;
· Константы могут быть определены и доступны в любом месте без учета области видимости;
· Константы не могут быть определены или аннулированы после первоначального объявления; и
· Константы могут иметь только скалярные значения.
Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Приведем пример:
<?php // Объявляем константу pi define("pi",3.14,true); if (defined("pi")==true) echo "Константа pi объявлена!"; // Скрипт выведет 'Константа pi объявлена!' ?>
В PHP существуют следующие предопределенные константы:
PHP предоставляет большой список предопределенных констант для каждого выполняемого скрипта. Многие из этих констант определяются различными модулями и будут присутствовать только в том случае, если эти модули доступны в результате динамической загрузки или в результате статической сборки.
Есть пять предопределенных констант, которые меняют свое значение в зависимости от контекста, в котором они используются. Например, константа __LINE__ зависит от строки в скрипте, на которой эта константа указана. Специальные константы нечувствительны к регистру и их список приведен ниже: