|
Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Функции в PHP
Использование переменных внутри функции
Глобальные переменные
Чтобы использовать внутри функции переменные, заданные вне ее, эти переменные нужно объявить как глобальные. Для этого в теле функции следует перечислить их имена после ключевого слова global:
global $var1, $var2;
<?
$a=1;
function Test_g(){
global $a;
$a = $a*2;
echo 'в результате работы функции $a=',$a;
}
echo 'вне функции $a=',$a,', ';
Test_g();
echo "<br>";
echo 'вне функции $a=',$a,', ';
Test_g();
?>
Пример
5.7.
Глобальные переменные
В результате работы этого скрипта получим:
вне функции $a=1, в результате работы функции $a=2 вне функции $a=2, в результате работы функции $a=4
Когда переменная объявляется как глобальная, фактически создается ссылка на глобальную переменную. Поэтому такая запись эквивалентна следующей (массив $GLOBALS содержит все переменные, глобальные относительно текущей области видимости):
$var1 = &$GLOBALS["var1"]; $var2 = &$GLOBALS["var2"];
Это значит, например, что удаление переменной $var1 не удаляет глобальной переменной $GLOBALS["var1"].
Статические переменные
Чтобы использовать переменные только внутри функции, при этом сохраняя их значения и после выхода из функции, нужно объявить эти переменные как статические. Статические переменные видны только внутри функции и не теряют своего значения, если выполнение программы выходит за пределы функции. Объявление таких переменных производится с помощью ключевого слова static:
static $var1, $var2;
Статической переменной может быть присвоено любое значение, но не ссылка.
<?
function Test_s(){
static $a = 1;
// нельзя присваивать выражение или ссылку
$a = $a*2;
echo $a;
}
Test_s(); // выведет 2
echo $a; // ничего не выведет, так как
// $a доступна только
// внутри функции
Test_s(); // внутри функции $a=2, поэтому
// результатом работы функции
// будет число 4
?>
Пример
5.8.
Использование статической переменной