专栏首页Qampp知识库.php 7 版本对于可变变量更严格.
原创

php 7 版本对于可变变量更严格.

<?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 未测试. 

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C# Resx资源读取.

    Tuesday
  • Mysql last_insert_id()的不确定因素详解..

    last_insert_id() 在正确的情况下返回: 数字类型. 并且大于 0

    Tuesday
  • mysql 类型/json简单入门.

    mysql 自5.7后引入了新的类型:json. 也就是我们平时见习惯了的key/val结构体, 非常方便的一种类型.

    Tuesday
  • 前端基础-JavaScript流程控制

    执行顺序:1243 ---- 243 -----243(直到循环条件变成false)

    cwl_java
  • solidity的delete操作汇总

    Solidity中的特殊操作符delete用于释放空间,为鼓励主动对空间的回收,释放空间将会返还一些gas。

    用户1161110
  • PHP 邮件漏洞小结

    PHP中,mail的函数在底层是写好的,调用linux的sendmail程序来发送邮件,在额外参数中,sendmail还支持其他三个选项。

    安恒网络空间安全讲武堂
  • 源码分析——Android Handler是如何实现线程间通信的

    Handler 作为 Android 消息通信的基础,它的使用是每一个开发者都必须掌握的。开发者从一开始就被告知必须在主线程中进行UI操作。但 Handler ...

    阳仔
  • 跟我学 Java 8 新特性之 Stream 流(六)收集

    我们前面的五篇文章基本都是在说将一个集合转成一个流,然后对流进行操作,其实这种操作是最多的,但有时候我们也是需要从流中收集起一些元素,并以集合的方式返回,我们把...

    Java技术栈
  • CSS样式clip-path绘制图形裁剪图片

    发现clip-path绘制图形的网站 http://bennettfeely.com/clippy/ 专门介绍clip-path的使用,几乎任何形状都可以做出来...

    小弟调调
  • 微信企业号的压迫感增强 百度杀入企业移动办公市场将成必然

    自从腾讯发布微信企业号以来,连马云都不得不暗暗称赞腾讯的企业策略,为了应对腾迅的又一轮布局,阿里很有可能通过收购进行弯道超车,而百度也推出直达号应战,可是一段蜜...

    人称T客

扫码关注云+社区

领取腾讯云代金券