В PHP три области видимости:
$global = 'hello';
function test() {
// $global здесь НЕ доступна!
echo $global; // Warning: undefined
global $global; // теперь доступна
// или $GLOBALS['global']
static $count = 0;
$count++; // сохраняется между вызовами
}
В отличие от многих языков, PHP не имеет блочной области видимости - переменная, объявленная внутри if/for, доступна во всей функции.