見很多朋友說在php中定義變量用不用var都沒關系,其實不然。
看看例子,如果我這樣使用var:
var $a=123;
echo $a;
//那么程序會提示語法錯誤,要去掉var這個變量定義才行。直接
$a=123;
echo $a;
//這樣才不會報錯,php是弱類型語言,所以不聲明類型是沒問題的。
那var什么時候才能用,請看:
class Test{
var $a=123;//訪問控制,這里的var不用就不正常,當然你可以用public protected等關鍵詞代替,來聲明成員變量的屬性
}
$obj=new Test();
echo $obj->a;
//打印結果:123
如果把var換成public,一樣可以的。
但是這個時候你在類中去掉var,什么訪問修飾符都沒有,那會提示語法錯誤的。
其實我經過測試,認為var就是public的別名,是用在類中定義公有屬性的,只不過歷史問題,現在不用var了。后來查了查php官網,果然如此。
php官方的解釋:
類屬性必須定義為公有,受保護,私有之一。如果用 var 定義,則被視為公有。
Note: 為了兼容性考慮,在 PHP 4 中使用 var 關鍵字對變量進行定義的方法在 PHP 5 中仍然有效(只是作為 public 關鍵字的一個別名)。在 PHP 5.1.3 之前的版本,該語法會產生一個 E_STRICT 警告
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- php 出現Strict Standards: Only variables should be passed by reference in的解決方法
- PHP中的print_r 與 var_dump 輸出數組
- php中get_object_vars()方法用法實例
- PHP中echo,print_r與var_dump區別分析
- PHP異常Parse error: syntax error, unexpected T_VAR錯誤解決方法
- php var_export與var_dump 輸出的不同
- php輸出echo、print、print_r、printf、sprintf、var_dump的區別比較
- PHP提示Notice: Undefined variable的解決辦法
- php中var_export與var_dump的區別分析