Почему следующий код на PHP печатает 7, а не 12?
fext();
function fext(){
$var1=5;
eсho fint();
return 1;
};
function fint(){
global $var1;
$var1=$var1+7;
return $var1;
};
Этот работает, как ожидается, т. е. печатает 12.
$var1=5;
echo fint();
function fint(){
global $var1;
$var1=$var1+7;
return $var1;
};
Этот тоже печатает 12.
$var1=5;
fext();
function fext(){
global $var1;
eсho fint();
return 1;
};
function fint(){
global $var1;
$var1=$var1+7;
return $var1;
};
Мне нужен 1-й вариант, т. е., чтобы global сработал на переменную, инициализированную в вышестоящей функции.