php中var關鍵字用法

見不少朋友說在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 警告變量

相關文章
相關標籤/搜索