提问人:kurama 提问时间:6/4/2016 最后编辑:miken32kurama 更新时间:6/4/2016 访问量:105
PHP 和变量变量 ($$) 语法
PHP and variable variables ($$) syntax
问:
在升级到 PHP 7 之前,我有这个代码,它返回了 true
var_dump(isset($$_SESSION['payment']) );
var_dump(is_object($$_SESSION['payment']));
var_dump($_SESSION['payment']); // string 'moneyorder'
升级到 PHP 7 后,我在类中重写了相同的代码,但现在它返回 false
var_dump(isset(${$_SESSION['payment']}));
var_dump(is_object(${$_SESSION['payment']}));
var_dump($_SESSION['payment']); // string 'moneyorder'
你知道为什么吗?
谢谢
答:
1赞
miken32
6/4/2016
#1
请注意,超级全局变量的 PHP 文档包含以下警告:
注意:变量
超全局变量不能用作函数或类方法中的变量。
改为将其保存到局部变量中:
$payment = $_SESSION['payment'];
var_dump(isset(${$payment}));
var_dump(is_object(${$payment}));
下一个:PHP中变量的类和对象范围
评论
var_dump($_SESSION["payment"])