PHP5.3 nicht-statische Variablen in statischen Umfang verhalte
Frage
Do PHP5.3 haben keine bekannten Fehler Problem, das nicht statische Variablen in Umfang verhalten Static macht? Ich donno warum in einem if {} Bereich Ich habe
{
echo $_not_static;
$_not_static = 5;
}
Das erste Mal es feuert E_NOTICE, wie es sollte aber zweites Mal druckt 5. Ich wurde mit diesem Struggling 3+ Stunden, aber keinen Hinweis eines Fehler von meiner Seite zu bekommen.
Lösung
Variablen sind funktions scoped, unabhängig auf dem Block sie sind, und das ist in jeder PHP-Version. Wenn Sie eine Variable innerhalb einer if Block deklarieren, und Sie geben dort wird bleiben sie nach dem, ob beendet erklärt, für den gesamten Funktionsumfang.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow