zugriff auf globale variable aus verschachtelter funktion
schildi
- php
hallo,
ich habe ein problem:
wie kann ich aus einer funktion die innerhalb einer anderen liegt auf globale variablen zugreifen?
function foo($param)
{
$var = $param;
function bar()
{
global $var;
echo("var:".$var);
}
bar();
}
foo("test");
Das geht auf jeden fall nicht. auch über $GLOBALS geht es so nicht.
Kann mir jemand weiterhelfen?
wie so oft findet man dann doch noch im netz eine antwort, nachdem man einen thread eröffnet hat.
so geht es:
function foo($param)
{
$GLOBALS['var'] = $param;
function bar()
{
global $var;
echo("var:".$var);
}
bar();
}
foo("test");
Hello,
function foo($param)
{
$GLOBALS['var'] = $param;function bar()
{
global $var;
echo("var:".$var);
}
bar();
}
PHP gestattet aber in der "normalen" Variante (also nicht OOP) keine Funktionsdefinitionen in Funktionen. Die innere Funktion würde so bei jedemmAufruf der äußeren neu deklariert werden, was unweigerlich zu einem "redefine error" führen würde.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
function foo($param)
{
$GLOBALS['var'] = $param;function bar()
{
global $var;
echo("var:".$var);
}
bar();
}foo("test");
so, wie du die Funktion bar() hier verwendest, könntest du den Textabschnitt "function bar()" auch gleich löschen. Es macht einfach keinen Sinn, eine Funktion innerhalb einer anderen zu definieren.
MfG Hopsel
so, wie du die Funktion bar() hier verwendest, könntest du den Textabschnitt "function bar()" auch gleich löschen. Es macht einfach keinen Sinn, eine Funktion innerhalb einer anderen zu definieren.
MfG Hopsel
so wie ich das hier geschrieben hatte, verwende ich das auch nicht. da könnte man es auch anders machen...
sondern ich benötigte die informationen für die preg_replace_callback funktion...