Язык программирования 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.