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 警告变量

相关文章
相关标签/搜索