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数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
php递归遍历多维数组的方法
Apr 18 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
php获取图片信息的方法详解
Dec 10 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
如何打开php的gd2库
Feb 09 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 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修正代码
2011/05/09 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
js传值 判断
2006/10/26 Javascript
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
深究AngularJS之ui-router详解
2017/06/13 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
python类参数self使用示例
2014/02/17 Python
django实现用户登陆功能详解
2017/12/11 Python
python对excel文档去重及求和的实例
2018/04/18 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python hashlib加密实现代码
2019/10/17 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
Python实现把类当做字典来访问
2019/12/16 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
信息管理应届生求职信
2014/03/07 职场文书
圆明园观后感
2015/06/03 职场文书
入党申请书怎么写?
2019/06/21 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL