PHP var關(guān)鍵字相關(guān)原理及使用實(shí)例解析
見(jiàn)很多朋友說(shuō)在php中定義變量用不用var都沒(méi)關(guān)系,其實(shí)不然。
看看例子,如果我這樣使用var:
var $a=123; echo $a; //那么程序會(huì)提示語(yǔ)法錯(cuò)誤,要去掉var這個(gè)變量定義才行。直接 $a=123; echo $a; //這樣才不會(huì)報(bào)錯(cuò),php是弱類(lèi)型語(yǔ)言,所以不聲明類(lèi)型是沒(méi)問(wèn)題的。
那var什么時(shí)候才能用,請(qǐng)看:
class Test{
var $a=123;//訪問(wèn)控制,這里的var不用就不正常,當(dāng)然你可以用public protected等關(guān)鍵詞代替,來(lái)聲明成員變量的屬性
}
$obj=new Test();
echo $obj->a;
//打印結(jié)果:123
如果把var換成public,一樣可以的。
但是這個(gè)時(shí)候你在類(lèi)中去掉var,什么訪問(wèn)修飾符都沒(méi)有,那會(huì)提示語(yǔ)法錯(cuò)誤的。
其實(shí)我經(jīng)過(guò)測(cè)試,認(rèn)為var就是public的別名,是用在類(lèi)中定義公有屬性的,只不過(guò)歷史問(wèn)題,現(xiàn)在不用var了。后來(lái)查了查php官網(wǎng),果然如此。
php官方的解釋?zhuān)?br /> 類(lèi)屬性必須定義為公有,受保護(hù),私有之一。如果用 var 定義,則被視為公有。
Note: 為了兼容性考慮,在 PHP 4 中使用 var 關(guān)鍵字對(duì)變量進(jìn)行定義的方法在 PHP 5 中仍然有效(只是作為 public 關(guān)鍵字的一個(gè)別名)。在 PHP 5.1.3 之前的版本,該語(yǔ)法會(huì)產(chǎn)生一個(gè) E_STRICT 警告
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- php 出現(xiàn)Strict Standards: Only variables should be passed by reference in的解決方法
- PHP中的print_r 與 var_dump 輸出數(shù)組
- php中g(shù)et_object_vars()方法用法實(shí)例
- PHP中echo,print_r與var_dump區(qū)別分析
- PHP異常Parse error: syntax error, unexpected T_VAR錯(cuò)誤解決方法
- php var_export與var_dump 輸出的不同
- php輸出echo、print、print_r、printf、sprintf、var_dump的區(qū)別比較
- PHP提示Notice: Undefined variable的解決辦法
- php中var_export與var_dump的區(qū)別分析
相關(guān)文章
PHP獲取數(shù)組長(zhǎng)度或某個(gè)值出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP獲取數(shù)組長(zhǎng)度或某個(gè)值出現(xiàn)次數(shù)的方法,實(shí)例分析了count()與array_count_value()的使用技巧,需要的朋友可以參考下2015-02-02
通過(guò)PHP current函數(shù)獲取未知字符鍵名數(shù)組第一個(gè)元素的值
在開(kāi)發(fā)中經(jīng)常遇到這樣問(wèn)題,獲取數(shù)組第一個(gè)元素的值,如果是數(shù)字索引那還好,直接$array[0],如果鍵名是字符串,你又未知這個(gè)字符串呢?用current()函數(shù)就可以做到2013-06-06
PHP header()函數(shù)常用方法總結(jié)
這篇文章主要介紹了PHP header()函數(shù)常用方法.總結(jié)了常見(jiàn)的用法,需要的朋友可以參考下2014-04-04

