Возможно ли получить доступ к внешнему локальному varialbe в подфункции PHP?Возможно ли получить доступ к внешней локальной переменной в PHP?
В приведенном ниже коде я хочу получить доступ к переменной $l
во внутренней функциональной панели. Объявление $l
как global $l
в баре не работает.
function foo()
{
$l = "xyz";
function bar()
{
echo $l;
}
bar();
}
foo();
Почему вы вообще используете вложенные функции? –
Кто знает ^^ Это был не вопрос ^^ ;; с PHP 5.3 и анонимными функциями, это может быть очень полезно для Closures ;;; До PHP 5.3 ... Я никогда не использовал вложенную функцию с PHP <5.3. –
@PascalMARTIN Важно, что вложенные функции до PHP 5.3 _do not exist_. Несмотря на то, что они выглядят так, как будто они объявлены локально, они попадают в глобальную сферу. Я думаю, что то же самое верно сейчас, поэтому вы должны использовать анонимные функции для достижения какой-либо вложенности. – Izkata