<?php
$demo = 100;
$arr = array('test','demo');
var_dump($$arr[1]);
// 返回100还是空?
// php 5 返回 100
// php 7 返回 null
这是为什么呢? 原因在于php 7 把 $$arr 当成一个变量了, 加上数组定位, 也就是null.
两种解决办法.
1: 中转变量. (推荐这种.)
<?php
$demo = 100;
$arr = array('test','demo');
$var = $arr[1];
var_dump($$var);
// result : 100
2: 大括号指定.
<?php
$demo = 100;
$arr = array('test','demo');
var_dump(${$arr[1]});
// php 7 返回 : 100
// php 5 未测试.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。