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 相关文章推荐
将数组写入txt文件 var_export
Apr 21 PHP
php 代码优化之经典示例
Mar 24 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
PHP自动生成表单代码分享
Jun 19 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
调试php程序的简单步骤
Oct 04 PHP
如何运行/调试你的PHP代码
Oct 23 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 向访客和爬虫显示不同的内容
2009/11/09 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
jQuery load方法用法集锦
2011/12/06 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
对Django url的几种使用方式详解
2019/08/06 Python
python实现网站微信登录的示例代码
2019/09/18 Python
python和php哪个更适合写爬虫
2020/06/22 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
上课随便讲话检讨书
2014/09/12 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
会计岗位职责
2015/02/03 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python