Просто спросите название спрашивает, вот код:
<?php
$foo = 0;
function letsLoop() {
while ($foo != -1) {
changeFoo();
echo "Hello, world!\n";
}
}
function changeFoo() {
extract($GLOBALS);
$foo = -1;
}
letsLoop();
Просто потому, что вы извлекаете глобальное значение в локальную область, это не означает, что вы будете изменять глобальную переменную $foo
. Чтобы ссылаться на глобальную переменную внутри функции, вы должны использовать global
ключевое слово:
function changeFoo() {
global $foo;
$foo = -1;
}
$GLOBALS['foo']