PHP7 参数处理机制修改


Posted in PHP onMarch 09, 2021

一、重复参数命名不再支持。

重复的参数命名不再支持。比如下面的代码执行的时候会报错:

public function foo($a, $b, $unused, $unused) {
          // ...
}

应该没有人这样用吧。

 

二、func_get_arg和func_get_args()调整

func_get_arg()和func_get_args()这两个方法返回参数当前的值,而不是传入时的值。当前的值有可能会被修改   

function foo($x) 
{
    $x++;
    var_dump(func_get_arg(0));
}
foo(1);

上面的代码会打印2, 而不是1。如果想打印原始的值,调用的顺序调整下即可。

 

三、同样在打印异常回溯信息的时候也是显示修改后的值。

function foo($x) 
{
    $x = 42;
    throw new Exception;
}
foo("string");

PHP7的运行结果:Stack trace:

#0 file.php(4): foo(42)
#1 {main}

PHP5的运行结果:Stack trace:

#0 file.php(4): foo('string')
#1 {main}

这个调整不会影响代码的行为,不过在调试的时候需要注意这个变化。

其他和参数有关的函数都是同样的调整,比如debug_backtrace() .

PHP 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
php调用新浪短链接API的方法
Nov 08 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
PHP论坛实现积分系统的思路代码详解
Jun 01 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
PHP7 foreach() 函数修改
Mar 09 #PHP
PHP7 list() 函数修改
Mar 09 #PHP
PHP7变量处理机制修改
Mar 09 #PHP
PHP7新特性
Mar 09 #PHP
Yii 实现数据加密和解密
Mar 09 #PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 #PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 #PHP
You might like
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python动态视频下载器的实现方法
2019/09/16 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
软件工程师面试题
2012/06/25 面试题
JSF界面控制层技术
2013/06/17 面试题
思想政治自我鉴定
2013/10/06 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
单位领导证婚词
2014/01/14 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
广告宣传策划方案
2014/05/21 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
初中地理教学反思
2016/02/19 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL