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 获取本机外网/公网IP的代码
May 09 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
php数组冒泡排序算法实例
May 06 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP解决高并发问题
Apr 01 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
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
初学Javascript的一些总结
2008/11/03 Javascript
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
Python程序设计入门(1)基本语法简介
2014/06/13 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Python2与Python3的区别实例总结
2019/04/17 Python
Python3实现飞机大战游戏
2020/04/24 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
世界上最好的足球商店:Unisport
2019/03/02 全球购物
EJB的激活机制
2013/10/25 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
警校毕业生自我评价
2014/04/06 职场文书
产品发布会策划方案
2014/05/12 职场文书
施工质量承诺书范文
2014/05/30 职场文书
学党史心得体会
2014/09/05 职场文书
学校政风行风整改方案
2014/10/25 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
python获取字符串中的email
2022/03/31 Python
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis