首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP 5.3与PHP7.x之间的差异

PHP 5.3与PHP7.x之间的差异
EN

Stack Overflow用户
提问于 2016-03-28 22:49:10
回答 2查看 16.7K关注 0票数 1

我的项目正在PHP 5.3上运行。现在,我想将PHP升级到更高的版本,如7.x

在更新之前,我试图搜索差异和复杂性,但没有得到令人满意的答案。

搜索链接:

  1. 条款草案
  2. PHP手册

我还想知道是否需要更改当前在PHP 5.3上正确运行的代码

如有任何建议,将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-01-29 05:19:31

  1. 名字是PHP 7(而不是6)

当前的稳定版本使用的是PHP5.6版本号。经过一些争论之后,开发团队决定在下一个主要版本中省略PHP 6的名称。PHP 6已经作为一个实验项目存在于过去,但从未达到生产阶段。

  1. 新型Zend发动机的品牌定位

Zend引擎从1999年开始为PHP提供动力,当时PHP 4发行版推出了Zend引擎。Zend --不要混淆Zend -是一个用C编写的开放源代码执行引擎,它解释PHP语言。当前的PHP5.X系列使用Zend,它增强了初始引擎的功能,并添加了一个可扩展的对象模型,并显著提高了语言的性能。

PHP 7接收到一个全新版本的引擎,其代码名称为PHP#NG (下一代)。

  1. 两倍的速度

新的PHPNG引擎最容易识别的优点是显着的性能改进。PHPNG的开发团队重构了Zend引擎,并显着地优化了内存的使用。

结果呢?您可以在下面看到Zend性能团队提供的性能基准。通过使用PHP 7,不仅可以更快地执行代码,而且还需要更少的服务器来为相同数量的用户服务。

  1. 方便错误处理

至少,对于PHP程序员来说,处理致命和可捕捉的致命错误从来都不是一件容易的事情。新的引擎异常将允许您将此类错误替换为异常。如果未捕获异常,PHP将继续返回与当前5.X系列中相同的致命错误。

新的\EngineException对象不扩展\Exception基类。这确保了向后兼容性,并导致错误处理中的两种不同类型的异常:传统异常和引擎异常。

为了使程序员能够同时捕获两者,PHP 7引入了一个名为\BaseException的新共享父类。

  1. 64位Windows系统支持

PHP是LAMP堆栈的一个重要成员,这意味着它的本地环境是Linux --但也可以在Windows系统上运行它。5.X系列还没有提供64位整数或大型文件支持,因此到目前为止,x64构建还被认为是实验性的。

PHP 7将改变这一点,因为它引入了一致的64位支持,这意味着本地64位整数和大文件都将被支持,这允许您在未来的64位Windows系统上自信地运行该语言。

  1. 新的宇宙飞船与空壳联合运营者

太空船运算符以组合比较运算符的正式名称运行。新运算符的表示法如下所示:<=> (有点像简化的宇宙飞船,如果你想得对的话)。

如果两个操作数相等,空间运算符将返回0,如果左边更大,则返回1,如果右侧更大,则返回-1。它也被称为三向比较操作符,它已经存在于其他流行的编程语言中,如Perl和Ruby。

您想过通过声明函数的返回类型来防止意外返回值吗?新的PHP 7使开发人员能够通过返回类型声明来提高代码的质量。

下面的图像描述了一个非常简单的用例,其中foo()函数应该返回一个数组。在这里查看更复杂的示例

有关更多详细信息:阅读更多

票数 4
EN

Stack Overflow用户

发布于 2016-03-28 22:52:43

您可以在php.net上找到单个主要PHP版本的更改日志,包括迁移指南(例如,http://php.net/manual/en/migration54.php)。

关于向后兼容性,请查看以下链接:http://php.net/manual/en/migration70.incompatible.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36277310

复制
相关文章
SQL 从查询结果里查询[通俗易懂]
我想要从从表中查出每天电动车和手机各自的销售总额。这个需求还是蛮简单的,仅仅须要依据createtime和product group by即可了。以下是我写的SQL语句:
全栈程序员站长
2022/07/20
2.8K0
SQL 从查询结果里查询[通俗易懂]
SQL模糊查询的四种匹配模式
表示任意0个或多个字符,可匹配任意类型和长度的字符。有些情况下是中文,需用两个百分号(%%)表示:
Leophen
2019/08/23
19.2K0
sql的嵌套查询_嵌套查询和嵌套结果的区别
SQL连接查询和嵌套查询详解 连接查询 若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是数据库中最最要的查询,
全栈程序员站长
2022/09/22
4K0
sql的嵌套查询_嵌套查询和嵌套结果的区别
mybatis返回值_存储过程获取查询结果
以Map为最外层容器时就要加 @MapKey("id") 指定提取 id 作为 key。
全栈程序员站长
2022/11/09
2.1K0
《SQL Cookbook》 - 第二章 查询结果排序
1. 默认情况下,ORDER BY会做升序排列,因此ASC子句是可选的。可以通过DESC执行降序排列。可以再ORDER BY子句中列出不同的排序列,逗号分隔。
bisal
2021/09/06
1K0
linq to sql取出随机记录/多表查询/将查询出的结果生成xml
在手写sql的年代,如果想从sqlserver数据库随机取几条数据,可以利用order by NewId()轻松实现,要实现多表查询也可以用select * from A,B Where A.ID=B.ID做到,但这些功能到了linq to sql中如何实现呢? 关键点: 1.随机排序问题:可以用 Select(d=> new {NewId=new Guid()}).OrderBy(d=>d.NewId)达到order by NewId()的效果 2.多表查询 from a in TableA
菩提树下的杨过
2018/01/22
3.2K0
MyBatis查询结果resultType返回值类型详细介绍
比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 JavaBean 类型的数据。
全栈程序员站长
2022/07/21
1.7K0
MyBatis查询结果resultType返回值类型详细介绍
Mysql常用sql语句(6)- limit 限制查询结果的条数
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
2.5K0
Mysql常用sql语句(6)- limit 限制查询结果的条数
SQL查询和删除重复值的操作方法
如题,SQL查询和删除重复值,例子是在Oracle环境下,类似写法网上很多。 1、利用distinct关键字去重 2、利用group by分组去重(这里没有实验出来就不写了) 3、利用rowid查询去重(个人推荐这个,rowid查询速度是最快的)
用户8965210
2021/08/31
2.2K0
SQL聚合函数 SUM
SUM返回与expression相同的数据类型,但有如下异常:TINYINT、SMALLINT和INTEGER返回的数据类型都是INTEGER。
用户7741497
2022/03/27
1.4K0
SQL语句对查询结果集二次操作
如上所述: 如果是字段的话我们需要使用as起别名 查询的结果集是个集合,不是字段,所以不能用 as XXX来起别名 直接去掉as,使用别名即可
阮键
2020/06/19
1.4K0
SQL语句对查询结果集二次操作
sum 统计 SQL 实例
select sum(temp.times),sum(temp.c) from (select t.work_id releaserWorkId, t.real_name releaserName, t.nick_name releaserNickName, count(1) c, round(ifnull(sum(t.times),0),2) times from commonwealtime t where t.state =
一个会写诗的程序员
2018/08/17
5040
mysql——通过命令将sql查询的结果导出到具体文件
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013045437/article/details/81275960
拓荒者
2019/03/15
1.8K0
mysql——通过命令将sql查询的结果导出到具体文件
SQL语句查询结果集中的动态修改案例(临时表+游标)
本文转载:http://www.cnblogs.com/Charles2008/archive/2008/03/04/1090314.html
跟着阿笨一起玩NET
2018/09/18
2.2K0
使用 WordPress Transients API 缓存复杂的 SQL 查询和运算结果
Transients 是瞬时的意思,WordPress Transients API 是 WordPress 用来缓存一些复杂的 SQL 查询和运算结果的最简单的方法。它给这些需要缓存的数据一个过期时间,并且时间一到就会自动删除。
Denis
2023/04/14
9680
使用 WordPress Transients API 缓存复杂的 SQL 查询和运算结果
php如何判断SQL语句的查询结果是否为空?
PHP与mysql这对黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空!
Yiiven
2022/12/15
3.6K0
SQL使用(一):如何使用SQL语句去查询第二高的值
初看了一眼题时,脑子还有一点迷糊,对于数值最大的和最小的,可以使用max和min去查询出来,但对于第N的就不好找了,思考了一会儿了,心里大致有二个思路:
王豆豆
2020/07/24
5.8K0
SQL使用(一):如何使用SQL语句去查询第二高的值
Mysql常用sql语句(10)- is null 空值查询
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
4.4K0
Mysql常用sql语句(10)- is null 空值查询
sql 再not in 子查询有null值的奇怪现象
–如果null参与算术运算,则该算术表达式的值为null。(例如:+,-,*,/ 加减乘除)
斯文的程序
2019/11/07
1.8K0
分批拼接SQL IN 查询需要的ID字段值,解决IN 查询的ID过多问题
SQL查询使用的IN条件字段很多的时候,会造成SQL语句很长,大概SQL语句不能超过8K个字符,也有说IN不能超过1000个条件,总之太长了不行,需要拆分条件分批处理。下面提供一个将Int类型的条件字段值进行字符串拼接的方法。看代码:
用户1177503
2021/04/01
2.5K0

相似问题

列值匹配时的SQL sum字段

20

SQL查询如何减去不同SQL查询的结果?[Sum()的反向减法]

16

SQL Money Sum上的错误结果值

17

基于嵌套查询结果的Oracle SQL - SUM数据

13

SQL SUM查询返回结果中的重复行。

410
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文