Язык программирования PHP | страница 14
>
>$first = ' Text '; // Присваиваем $first
> // значение ' Text '
>$second = &$first;
>/* Делаем ссылку на $first через $second.
> Теперь значения этих переменных
> будут всегда совпадать */
>// Изменим значение $first
>// на ' New text '
>$first = ' New text ';
>echo "Переменная с именем first " .
> "равна $first
";
>// выведем значения обеих переменных
>echo "Переменная с именем second " .
> "равна $second";
>?>
Этот скрипт выведет следующее:
>Переменная с именем first равна New text.
>Переменная с именем second равна New text.
То есть вместе с переменной $first изменилась и переменная $second.
Константы
Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Такими величинами могут быть математические константы, пароли, пути к файлам и т.п. Основное отличие константы от переменной состоит в том, что ей нельзя присвоить значение больше одного раза и ее значение нельзя аннулировать после ее объявления. Кроме того, у константы нет приставки в виде знака доллара и ее нельзя определить простым присваиванием значения. Как же тогда можно определить константу? Для этого существует специальная функция define(). Ее синтаксис таков:
>define("Имя_константы",
> "Значение_константы",
> [Нечувствительность_к_регистру])
По умолчанию имена констант чувствительны к регистру. Для каждой константы это можно изменить, указав в качестве значения аргумента Нечувствительность_к_регистру значение True. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре.
Получить значение константы можно, указав ее имя. В отличие от переменных, не нужно предварять имя константы символом $. Кроме того, для получения значения константы можно использовать функцию constant() с именем константы в качестве параметра.
>
>// определяем константу
>// PASSWORD
>define("PASSWORD","qwerty");
>// определяем регистронезависимую
>// константу PI со значением 3.14
>define("PI","3.14", True);
>// выведет значение константы PASSWORD,
>// т.е. qwerty
>echo (PASSWORD);
>// тоже выведет qwerty
>echo constant("PASSWORD");
>echo (password);
>/* выведет password и предупреждение,
> поскольку мы ввели регистрозависимую
> константу PASSWORD */
>echo pi;
>// выведет 3.14, поскольку константа PI
>// регистронезависима по определению
>?>
Кроме переменных, объявляемых пользователем, о которых мы только что рассказали, в PHP существует ряд констант, определяемых самим интерпретатором. Например, константа __FILE__ хранит имя файла программы (и путь к нему), которая выполняется в данный момент, __FUNCTION__ содержит имя функции, __CLASS__ – имя класса, PHP_VERSION – версия интерпретатора PHP. Полный список предопределенных констант можно получить, прочитав руководство по PHP.