見(jiàn)很多朋友說(shuō)在php中定義變量用不用var都沒(méi)關(guān)系,其實(shí)不然。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的水城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!看看例子,如果我這樣使用var:
var $a=123; echo $a; //那么程序會(huì)提示語(yǔ)法錯(cuò)誤,要去掉var這個(gè)變量定義才行。直接 $a=123; echo $a; //這樣才不會(huì)報(bào)錯(cuò),php是弱類型語(yǔ)言,所以不聲明類型是沒(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í)候你在類中去掉var,什么訪問(wèn)修飾符都沒(méi)有,那會(huì)提示語(yǔ)法錯(cuò)誤的。
其實(shí)我經(jīng)過(guò)測(cè)試,認(rèn)為var就是public的別名,是用在類中定義公有屬性的,只不過(guò)歷史問(wèn)題,現(xiàn)在不用var了。后來(lái)查了查php官網(wǎng),果然如此。
php官方的解釋:
類屬性必須定義為公有,受保護(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
警告