見不少朋友說在php中定義變量用不用var都不要緊,其實否則。php
看看例子,若是我這樣使用var:測試
1 var $a=123; 2 echo $a; 3 //那麼程序會提示語法錯誤,要去掉var這個變量定義才行。直接 4 $a=123; 5 echo $a; 6 //這樣纔不會報錯,php是弱類型語言,因此不聲明類型是沒問題的。
那var何時才能用,請看:spa
1 class Test{ 2 var $a=123;//訪問控制,這裏的var不用就不正常,固然你能夠用public protected等關鍵詞代替,來聲明成員變量的屬性 3 4 } 5 $obj=new Test(); 6 echo $obj->a; 7 //打印結果:123
若是把var換成public,同樣能夠的。
可是這個時候你在類中去掉var,什麼訪問修飾符都沒有,那會提示語法錯誤的。code
其實我通過測試,認爲var就是public的別名,是用在類中定義公有屬性的,只不過歷史問題,如今不用var了。後來查了查php官網,果真如此。blog
php官方的解釋:
類屬性必須定義爲公有,受保護,私有之一。若是用 var 定義,則被視爲公有。class
Note: 爲了兼容性考慮,在 PHP 4 中使用 var 關鍵字對變量進行定義的方法在 PHP 5 中仍然有效(只是做爲 public 關鍵字的一個別名)。在 PHP 5.1.3 以前的版本,該語法會產生一個 E_STRICT 警告變量