2010-06-22 116 views
1

PHP5.3是否有任何已知的錯誤問題,導致範圍內的非靜態變量表現爲靜態? 我唐諾爲什麼在如果{}範圍我已經PHP5.3範圍內的非靜態變量表現爲靜態

{ 
    echo $_not_static; 
    $_not_static = 5; 
} 

第一次觸發E_NOTICE,因爲它應該,但第二次它打印5. 我用這個掙扎了3小時以上,但沒有得到任何暗示從我這邊來的一個錯誤。

回答

4

變量是函數範圍的,無論它們在哪個塊中,並且在任何PHP版本中。如果你在if塊中聲明瞭一個變量,並且在那裏輸入,它將在if完成之後在整個函數範圍內保持聲明。