见很多朋友说在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 警告
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java switch关键字原理及用法详解,包括了Java switch关键字原理及用法详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java中 switch关键原理及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Switch语法 switch作为Java内置关键字,却在项目中真正使用的比较少。关于swi
本文向大家介绍Java方法及数组相关原理解析,包括了Java方法及数组相关原理解析的使用技巧和注意事项,需要的朋友参考一下 方法 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计的方法,最好保持方法的原子性,就是一个方法只完成1个功能,有利于后期的扩展。 方法重载 重载就是在一个类中,有相同的函数名称,但参数不同的函数 重载规则: 方法名称必须相同 参数列表必须不同(个
本文向大家介绍通过实例解析jQ Ajax操作相关原理,包括了通过实例解析jQ Ajax操作相关原理的使用技巧和注意事项,需要的朋友参考一下 什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 它不是一门编程语言,而是利用JavaScript在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。
本文向大家介绍MyBatis通用Mapper实现原理及相关内容,包括了MyBatis通用Mapper实现原理及相关内容的使用技巧和注意事项,需要的朋友参考一下 MyBatis通用Mapper实现原理 本文会先介绍通用 Mapper 的简单原理,然后使用最简单的代码来实现这个过程。 基本原理 通用 Mapper 提供了一些通用的方法,这些通用方法是以接口的形式提供的,例如。 接口和方法都使用了泛型,
本文向大家介绍Java switch使用原理及实例解析,包括了Java switch使用原理及实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java switch使用及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java中有两个经常用于条件判断的方法,一个是if{}else{},另一个就是switch()了。总的
本文向大家介绍es6 super关键字的理解与应用实例分析,包括了es6 super关键字的理解与应用实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了es6 super关键字的理解与应用。分享给大家供大家参考,具体如下: 前面介绍了static关键字,class类还有另外一个关键字super super不仅仅是一个关键字,还可以作为函数和对象。 函数:在子类继承父类中,super作