Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

ФУНКЦИИ: Пользовательские функции - Видимость переменных


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Видимость и время жизни переменных в функциях. Ключевое слово global.

Функции обладают собственными наборами переменных, не совпадающими с набором глобальных переменных. Переменные, определенные в самой функции, видны только внутри нее (соответственно, не видны за ее пределами) и существуют только во время ее исполнения. С другой стороны, внешние (глобальные) переменные внутри функции также не видны.

function foo()
{
    $local = 'Local Variable';
}

print $local;

            
Notice:  Undefined variable: local
function foo()
{
    print $global;
}

$global = 'Global Variable';
foo();
            
Notice:  Undefined variable: global

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

function foo()
{
    print $GLOBALS['global'];
}

$global = 'Global Variable';
foo();
            
Global Variable

Внимание

При использовании такого метода следует соблюдать осторожность, так как можно случайно изменить значение глобальной переменной, что в большинстве случаев нежелательно и может привести к непредсказуемым последствиям в работе скрипта.

Существует и другой способ организации доступа к глобальным переменным - использование ключевого слова global. Однако, этот способ считается нежелательным, так как он имеет определенные ограничения [1].

function foo()
{
    global $global;
    print $global;
}

$global = 'Global Variable';
$foo();
            
Global Variable

Created with DocBook Created with Libxslt


В избранное