见很多朋友说在php中定义变量用不用var都没关系,其实不然。

看看例子,如果我这样使用var:

1 var $a=123;
2 echo $a;
3 //那么程序会提示语法错误,要去掉var这个变量定义才行。直接
4 $a=123;
5 echo $a;
6 //这样才不会报错,php是弱类型语言,所以不声明类型是没问题的。

那var什么时候才能用,请看:

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,什么访问修饰符都没有,那会提示语法错误的。

其实我经过测试,认为var就是public的别名,是用在类中定义公有属性的,只不过历史问题,现在不用var了。后来查了查php官网,果然如此。

php官方的解释:
类属性必须定义为公有,受保护,私有之一。如果用 var 定义,则被视为公有。

Note: 为了兼容性考虑,在 PHP 4 中使用 var 关键字对变量进行定义的方法在 PHP 5 中仍然有效(只是作为 public 关键字的一个别名)。在 PHP 5.1.3 之前的版本,该语法会产生一个 E_STRICT 警告

最新文章

  1. js onmouseleave
  2. 2016-08-16: copy-and-swap
  3. js算法运算
  4. 1.7 逆序数与归并排序[inversion pairs by merge sort]
  5. Win7 OpenCV 3.0.0 VS2013 环境配置
  6. 剑指offer系列29-----链表中环的入口节点-
  7. DB天气app冲刺第四天
  8. HDU 3829 Cat VS Dog
  9. 帝国cms
  10. windows 注入 之 SetWindowHookEx
  11. Maven中的pom.xml详解
  12. vuex学习
  13. [Docker] 容器开发环境最佳实践理论
  14. Python You-Get (送你一个免广告的视频和音乐网站 VIP)
  15. pandas之whl格式安装
  16. C# 匿名类型如何使用
  17. 学习笔记8—MATLAB中奇异值处理办法
  18. ASP.NET Web API 2入门
  19. cjson库
  20. Linux内核分析第一周-通过分析汇编代码理解计算机是如何工作的

热门文章

  1. 看完我的笔记不懂也会懂----MongoDB
  2. JS产生GUID
  3. MySQL:基本操作与常用函数
  4. Django 报错 Reverse for 'content' not found. 'content' is not a valid view function or pattern name.
  5. macOS命令行切换Python版本
  6. springmvc字符 中文乱码问题
  7. 在scanf函数中占位符使用错误而产生的一些错误
  8. Fastjson <=1.2.24-反序列化-任意命令执行
  9. jdk 集合大家族之Collection
  10. python获取到本机的公网IP