Статьи,обзоры,справочники по PHP

       

ОБЛАСТЬ ВИДИМОСТИ ПЕРЕМЕННЫХ


Во-первых. Все переменные начинаются с символа $

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

$a = 1; /* глобальное определение */

Function Test () {

$a=2;

echo $a; /* локальная переменная */

}

Test ();

echo $a;

Таким образом в функции используется локальная, собственная переменная и результатом прогарммы будет вывод чисел 2 и 1, а не 2 и 2, как некоторые могли подумать.

Ну а если вы хотите в функции использовать глобальные переменные, необходимо сделать так (декларировать с помощью оператора global):

$a = 1; /* глобальное определение */

Function Test () {

global $a;

$a=2;



echo $a; /* локальная переменная */

}

Test ();

echo $a;

Теперь в функции вы переопредилили глобальную переменную и вывод будет числа 2 и 2. Но есть и другой способ добраться до глобально-определенных данных - через ассоциативный массив $GLOBALS[]. Пример предыдущей программы, реализованный новым способом:

$a = 1; /* глобальное определение */

Function Test () {

$GLOBALS["a"]=2;

echo $a; /* локальная переменная */

}

Test ();

echo $a;

Обратите внимание переменная в массиве указывается без символа $

Кроме этог о PHP предоставляет возможность исопльзовать статические переменный. Все как в C/C++.

Function Test () {

static $a = 0;
echo $a;

$a++;

}

Test();

Test();

Test();

Результатом выполнения этого скрипта будет вывод чисел 0,1 и 2.



Содержание раздела