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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
一个简单的域名注册情况查询程序
Oct 09 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
给ECShop添加最新评论
Jan 07 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
js玩一玩WSH吧
2007/02/23 Javascript
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
详细分析React 表单与事件
2020/07/08 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python3 深浅copy对比详解
2019/08/12 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Python函数生成器原理及使用详解
2020/03/12 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
介绍一下linux的文件权限
2012/02/15 面试题
应届生高等护理求职信
2013/10/12 职场文书
关于打架的检讨书
2014/01/17 职场文书
公司活动总结范文
2014/07/01 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
美容院合作经营协议书
2014/10/10 职场文书
2014年审计工作总结
2014/11/17 职场文书
小学大队长竞选稿
2015/11/20 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL