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速度全攻略
Oct 09 PHP
php 时间计算问题小结
Jan 04 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
如何在php中正确的使用json
Aug 06 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP房贷计算器实例代码,等额本息,等额本金
Apr 01 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
php调整服务器时间的方法
2015/04/03 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
使用python统计文件行数示例分享
2014/02/21 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python文件路径名的操作方法
2019/10/30 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
母亲节演讲稿范文
2014/01/02 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
学籍证明模板
2014/11/21 职场文书
检讨书范文
2015/01/27 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
教务处干事工作总结
2015/08/14 职场文书
Java 定时任务技术趋势简介
2022/05/04 Java/Android