PHP精通教程-PHP变量(Variables)-第二章(1)

PHP变量是什么? 

PHP 中的变量用一个美元$符号后面跟变量名来表示。变量名是区分大小写的。要将变量转换为变量变量,需要在变量前面加上$

变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:’[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‘。

虽然在 PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值 – 布尔类型的变量默认值是 FALSE,整形和浮点型变量默认值是零,字符串型变量(例如用于 echo 中)默认值是空字符串以及数组变量的默认值是空数组。

未初始化变量的默认值

变量的变量

变量就是可以存储值的一个容器,变量可以通过动态变量名访问。变量的名称可以存储在另一个变量中,允许动态地访问它。这些变量被称为变量变量。

例如:

变量变量对映射函数/方法调用很有用:

这在PHP类中特别有用:

 下面的这个这个是可以的,但不需要把$variableName放在{}之间:

下面的例子是等效的输出“baz”:

只有当变量的名称本身是一个表达式时,才强制使用{},如下所示:

尽管如此,还是建议始终使用{},因为它更具可读性。

虽然不建议这样做,但有可能会导致以下行为:

PHP5与PHP7变量的差异

在使用{}or()的另一个原因是PHP5和PHP7处理变量的方式略有不同,这在某些情况下会导致不同的结果。

在PHP7中,动态变量、属性和方法将严格按照从左到右的顺序进行评估,而不是像PHP5中那样混合使用特殊情况。下面的示例显示了评估顺序是如何变化的。

Case 1 : $$foo[‘bar’][‘baz’]

Case 2 : $foo->$bar[‘baz’]

Case 3 : $foo->$bar[‘baz’]()

Case 4 : Foo::$bar[‘baz’]()

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

上一篇: PHP精通教程-PHP标签-第一章(2)

下一篇: Magento 2后台系统文件system.xml讲解

登录 评论
avatar