可变变量是PHP的特殊语法,其他语言很少见(基本没有吧···)。
就是一个变量的变量名又是一个变量(可以多层嵌套,我试到了5层)。
以上图片所示就是可变变量,可以理解为PHP解析变量时从右向左解析,当解析$b之后的结果就成了$a,然后因为之后没有$符号,就直接输出$a的值,如果有就一直解析。
在将可变变量用于数组的情况下需要添加{}来解决模棱两可的情况:$$a[1],就会出现不知道是要获取$$a中索引为1的值,还是要$a[1]作为一个变量,第一种情况可以使用${$a}[1],第二种情况可以使用${$a[1]}。
注意:超全局变量不能作为可变变量,$this也不能被动态引用。