Видимость переменной внутри 2-х функций

Nixon

Новичок
Видимость переменной внутри 2-х функций

PHP:
function a()
{
  $a = '1';
  
  function b()
  {
    global $a;
    
    $a = '2';
  }
  
  b();
  
  return $a;
}

print a();
При выполнении данного кода PHP 5.2.1 выводит "1", а не "2", т.е. переменная $a внутри функции b() не становится глобальной. Скажите, пожалуйста, почему?
 

cDLEON

Онанист РНРСlub
Внутри первой функции перменная не глобальная.
 

Crazy

Developer
Потому, что в PHP нет вложенных функций. Этот код делает вовсе не то, что ты дуиаешь.

Вызови print a(); ДВА раза -- и увидишь. :)
 
Сверху