PHP5.3范围内的非静态变量表现为静态

问题描述:

PHP5.3是否有任何已知的错误问题,导致范围内的非静态变量表现为静态? 我唐诺为什么在如果{}范围我已经PHP5.3范围内的非静态变量表现为静态

{ 
    echo $_not_static; 
    $_not_static = 5; 
} 

第一次触发E_NOTICE,因为它应该,但第二次它打印5. 我用这个挣扎了3小时以上,但没有得到任何暗示从我这边来的一个错误。

变量是函数范围的,无论它们在哪个块中,并且在任何PHP版本中。如果你在if块中声明了一个变量,并且在那里输入,它将在if完成之后在整个函数范围内保持声明。