Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP_Начало_Лабораторная работа4нов.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

4.4.3.2.Глобальные переменные

Глобальные переменные, в отличие от локальных, доступны в любой точке программы. Но чтобы изменить значение глобальной переменной, необходимо специально объявить ее как глобальную в соответствующей функции. Для этого перед именем переменной ставится ключевое слово GLOBAL. Пример:

<?

$somevar = 15;

function addit() {

GLOBAL $somevar;

$somevar++;

echo "Somevar is $somevar";

}

addit();

?>

Результат представлен на рис. 7.

Рис. 7. Результат работы с глобальной переменной $somevar

Если из программы убрать строку:

GLOBAL $somevar;

В этом случае $somevar будет присвоено значение 1, поскольку эта переменная будет считаться локальной по отношению к функции addit( ). Локальная переменная по умолчанию инициализируется 0, а затем к ней прибавляется 1; таким образом, будет выведено значение 1.

Альтернативный способ объявления глобальных переменных связан с использованием массива РНР $GLOBALS( ).

4.4.3.3.Статические переменные

Последний тип видимости переменных называется статическим. В отличие от переменных, объявленных параметрами и уничтожаемых при выходе из функции, статическая переменная сохраняет свое значение при повторном вызове. Для объявления статической переменной перед ее именем ставится ключевое слово STATIC:

STATIC $somevar;

Рассмотрим пример:

<?

function keep_track() {

STATIC $count = 0;

$count++;

echo $count;

echo "<br>";

}

keep_track();

keep_track();

keep_track();

?>

Результат работы представлен на рис. 8.

Рис. 8. Результат работы программы со статической переменной $count

Если бы переменная $count не была объявлена статической (то есть являлась локальной), результат выглядел бы так:

1

1

1

Статические переменные особенно удобны при написании рекурсивных функций — особого класса функций, которые многократно вызывают сами себя до выполнения некоторого условия.

4.4.3.4.Константы

Константой называется именованная величина, которая не изменяется в процессе выполнения программы. Константы особенно удобны при работе с заведомо постоянными величинами — например, числом pi (3,141592) или количеством футов в миле (5280).

В РНР константы определяются функцией define( ). После того как константа будет определена, вы не сможете изменить (или переопределить) ее в этой программе.

Например, определение числа я в сценарии РНР может выглядеть так:

define("PI", "3.141592");

Определенную константу можно использовать в программе:

<?

define("PI", "3.141592");

echo "Значение pi равно ", PI , "<br>";

$pi2 = 2 * PI;

echo "Удвоенное значение pi равно ", $pi2;

?>

Рис. 9. Результат работы программы с константами

В этом фрагменте следует обратить внимание на два обстоятельства. Во-первых, в именах констант не указывается знак доллара. Во-вторых, константу невозможно модифицировать (например, присвоить ей величину 2*РI); если константа используется в вычислениях, то результат приходится сохранять в другой переменной.