前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点

[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点

作者头像
唯一Chat
发布2019-09-10 12:52:55
7020
发布2019-09-10 12:52:55
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

1.错误和异常处理

1.1 set_exception_handler()函数申明的类型

function handler($e){

var_dump($e);

}

set_exception_handler('handler');

throw new Exception("sb");

1.2 当内部构造器失败的时候,总是抛出异常

1.3 解析错误会抛出 ParseError 异常

1.4 E_STRICT 警告级别变更

2.变量处理

2.1 关于间接使用变量、属性和方法的变化

$foo['bar']='a';

$a=1;

var_dump(${$foo['bar']});//输出1

var_dump($$foo['bar']);//输出NULL

2.2 关于list()处理方式的变更

2.3 global 只接受简单变量,不推荐global可变变量

2.4 函数参数附近的括号不再影响行为

3.foreach的变化

3.1 foreach不再改变内部数组指针

3.2 foreach 通过值遍历时,操作的值为数组的副本

3.3 foreach通过引用遍历时,有更好的迭代特性

3.4 非Traversable 对象的遍历

4.integer的变化

4.1 十六进制字符串不再被认为是数字,filter_var()进行转换

4.2 \u{ 可能引起错误

4.3 bitshifts按位转换超出范围

4.4 Division By Zero错误信息

5.string处理上的调整

6.被移除的函数

6.1 set_magic_quotes_runtime()和magic_quotes_runtime()废除

6.2 call_user_method() and call_user_method_array() 换成

call_user_func() 和 call_user_func_array()

6.3 所有的 ereg* 函数

6.4 mcrypt 别名

6.5 所有 ext/mysql 函数

6.6 所有 ext/mssql 函数

6.7 intl 别名

6.8 dl() in PHP-FPM

6.9 GD Type1 functions

7.被移除掉的 INI 配置指令

8.其他

8.1 new 操作符创建的对象不能以引用方式赋值给变量

8.2 无效的类、接口以及 trait 命名,Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制

8.3 移除了 ASP 和 script PHP 标签

8.4 从不匹配的上下文发起调用

8.5 yield 变更为右联接运算符

8.6 函数定义不可以包含多个同名参数

8.7 Switch 语句不可以包含多个 default 块

8.8 在函数中检视参数值会返回 当前 的值

8.9 $HTTP_RAW_POST_DATA 被移除

8.10 INI 文件中 # 注释格式被移除

8.11 JSON 扩展已经被 JSOND 取代

8.12 在数值溢出的时候,内部函数将会失败

8.13 自定义会话处理器的返回值修复

8.14 相等的元素在排序时的顺序问题

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档