Задать вопрос
@kostyaslam

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

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

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

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

Test();


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

global $a;
$a = 1;

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽