大家都知道php中有一个很好用的特性,就是可变变量,例如:
$a = 'php';
$$a = '我是PHP';
echo $php;// 输出:我是PHP
其他用法都类似,这里重点说下当变量的值是数组的时候,PHP5和PHP7的不同之处,看示例:
$arr = array('php', 'javascript', 'python');
$php = '我是PHP';
echo $$arr[0];// 输出:?
在PHP5中,这里会输出“我是PHP”,但是在PHP7中,这里会出现一个“Array to string conversion”的Notice,这就说明在PHP5中,是默认就把$arr[0]
作为一个整体,而在PHP7中却不会,必须配合花括号来达到目的${$arr[0]}
。
楼主也想试着写成${$arr}[0]
却也是不行,还是会出现同样的Notice,如果哪里有不对之处,欢迎指出来,一起学习,共同进步。
网友评论