@kostyaslam

Почему функция не видит глобальную переменную?

Код снипета на modx revo на PHP.

$a = 1; /* глобальная область видимости */ 

function Test()
{ 
global $a; /* Объявляем переменную $a глобальной */
echo $a; /* ссылка на переменную локальной области видимости */ 
} 

Test();


По сути должна вывестись цифра 1. Но ничего не выводится. Вообще пустота.
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 2
Скорее всего у снипета не глобальный контекст, нужно и там написать global:

global $a;
$a = 1;

.... и т.д.
Ответ написан
Комментировать
@yuras666
Скорее всего "снипет" не в глобальной области видимости. И если уж работаешь с глобальными переменными, задавай их явным образом.
$GLOBALS['a'] = 1;

function Test()
{
    echo $GLOBALS['a']; //1
}

Test();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы