Почему в php функция не имеет доступ ко внешним переменным?

let a = 5;

function inc() {
    return a;
}
console.log(inc()); // 5


$a = 5;
function inc() {
	return $a;
}

if(true) {
  echo $a; // 5
}

echo inc();  // undefined

Почему в php функция не имеет доступ ко внешним переменным?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Согласно пророчеству.
Если хотите, чтобы функция php видела внешнюю переменную, то её надо импортировать в функцию с помощью
global $a;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Область видимости переменной для полного погружения
https://www.php.net/manual/ru/language.variables.s...

$a = 5;
function inc() {
  return $GLOBALS["a"];
}

var_dump($a); //int(5)

var_dump(inc()); //int(5)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы