Ob Sie es glauben oder nicht, ich bekomme Antwort: 2 auch. Dies bedeutet, dass es tatsächlich einige Fälle gibt, in denen global nicht funktioniert.
versucht, die Ursache zu finden: Es scheint, dass, wenn Sie eine Funktion haben und den Code des OP setzen (was ein php.net Beispiel ist) innerhalb dieser Funktion werden Sie Antwort 2. Dies ist ein bisschen komisch und irgendwie bekommen macht in gewisser Weise Sinn ...
LE (ich bin PHP 5.2.5 unter Apache 2.2.8 in Win XP): Meine Lösung OK, löste dies: wenn Sie den globalen Einsatz in die zweite Funktion bekommt man offensichtlich die superglobalen Variablen, die für alle verfügbar sind (dh außerhalb jeder Funktion dekalarisiert), aber da $ a und $ b innerhalb der ersten Funktion deklariert sind, Sie sind nicht Teil dieses Bereichs und stehen der 2. Funktion nicht zur Verfügung. Meine Schätzung für eine Lösung ist, $ a und $ b global zu deklarieren, auch außerhalb der 2. Funktion, die innerhalb der 1. Funktion ist. !! Beachten Sie, dass die erste möglicherweise aus verschiedenen Gründen nicht so offensichtlich ist, wie Ihre Datei (die nur die zweite Funktion enthält) irgendwo im Körper einer anderen Funktion in einer anderen Datei enthalten ist.
Ist dies der genaue Code? Lässt du irgendwelche Informationen hier raus? – Matt
natürlich hat er - wie genau welche Version von PHP ...? – Alnitak