Верьте или нет, я получаю ответ: 2. Это означает, что действительно есть случаи, когда глобальный режим не работает.
Пытался найти причину: кажется, что если у вас есть функция и поместить код в OP (который является php.net пример) внутри этой функции, вы получите ответ 2. Это немного странно, и своего рода имеет смысл в пути ...
(Я использую PHP 5.2.5 под Apache 2.2.8 в Win XP)
LE: МОЕ РЕШЕНИЕ ОК, решается следующим образом: когда вы используете глобальный 2-й функции, вы, очевидно, получаете сверхглобальные переменные, доступные всем (то есть, декалированные вне любой функции), но поскольку $ a и $ b объявляются внутри 1-й функции, они не входят в эту область и не доступны для 2-й функции. Мое предположение для решения состоит в том, чтобы объявлять глобальные $ a и $ b, вне 2-й функции, которая находится внутри первой функции. !! Обратите внимание, что 1-й может быть не столь очевидным по различным причинам, например, ваш файл (содержащий только 2-ю функцию), который находится где-то в теле другой функции в другом файле.
Это точный код? Вы оставляете информацию здесь? – Matt
, конечно, у него есть - как точная версия PHP ...? – Alnitak