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 相关文章推荐
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
PHP经典面试题集锦
Mar 19 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
php生成年月日下载列表的方法
Apr 24 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 PHP
laravel-admin 中列表筛选方法
Oct 03 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
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
php实现简易计算器
2020/08/28 PHP
QQ登录简单实现代码
2021/03/09 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
用python读写excel的方法
2014/11/18 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
python标识符命名规范原理解析
2020/01/10 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
大学生入党思想汇报
2014/01/01 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
企业授权委托书范本
2014/04/02 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书