从PHP 5.6.x 移植到 PHP 7.0.x 新特性:

1.标量类型声明

字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name

2.返回值类型声明

定义参数类型和返回值类型

function test(int $a):int{}

如果不按规定传参会返回异常

3.null合并运算符

null合并运算符 (??) ,等同于三元运算符

$name=$_GET['name'] ?? "test";echo $name;

4.太空船操作符(组合比较符)

当$a小于、等于或大于$b时它分别返回-1、0或1。

$a <=> $b

5.通过 define() 定义常量数组

define('ANIMALS', ['dog','cat','bird']);

6.匿名类

某个函数参数强制类型,使用匿名类完成

interface Logger {

public function log(string $msg);

}

function test(Logger $logger){

echo $logger->log('aaa');

}

test(new Class implements Logger {

public function log(string $msg) {

return $msg;

}

});

7.Unicode codepoint 转译语法

完整的Unicode字符叫codepoint,Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码

8.为unserialize()提供过滤,提供更安全的方式解包不可靠的数据,通过白名单的方式来防止潜在的代码注入

9.预期,assert — 检查一个断言是否为 FALSE

10.Group use declarations

从同一 namespace 导入的类、函数和常量现在可以通过单个 use 语句 一次性导入了

11.生成器可以返回表达式

12.Generator delegation

13.整数除法函数 intdiv()

14.会话选项

session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置

15.CSPRNG Functions

random_bytes() 和 random_int() 用来产生高安全级别的随机字符串和随机整数

16.可以使用 list() 函数来展开实现了 ArrayAccess 接口的对象

17.其他特性

[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性的更多相关文章

  1. 将Asp.Net Core和corefx移植到.Net 4.0

    引言 因为工作内容的原因需要兼容 XP,而 XP 最多支持到.Net Framework 4.0.因此无法享受到 .Net Core 带来的一堆很好用的库,好在无论 corefx 还是 Asp.Net ...

  2. tiny210移植linux内核(3.0.8)杂项

    关于三星芯片nand内存分区文件: linux-3.0.8/drivers/mtd/nand/s3c_nand.c struct mtd_partition s3c_partition_info[] ...

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

    1.错误和异常处理 1.1 set_exception_handler()函数申明的类型 function handler($e){ var_dump($e); } set_exception_han ...

  4. Ubuntu16.04 ARM平台移植libcurl curl-7.63.0

    libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,POP3, P ...

  5. [PHP] 2018年终总结

    去掉敏感信息后的不完整版 ==========================================================================2018年12月29日 记 ...

  6. Windows Embedded Compact 7初体验

    Windows Embedded Compact 7初体验 Windows Embedded Compact 7已经出来半年多了,一直没时间搞.最近它又出了Refresh的版本,电脑也换了个1T的硬盘 ...

  7. 愚人的linux内核2440移植札记(超曲折版)

    http://blog.csdn.net/dreambegin/article/details/6904822 原来文章叫--编译内核之初体验.后来想了想,这篇文章让我体验了好多遍.不该叫这么大气的名 ...

  8. 我所理解的Cocos2d-x

    我所理解的Cocos2d-x(完全基于Cocos2d-x3.0,深度剖析计算机图形学,OpenGL ES及游戏引擎架构,全面提升游戏开发相关知识) 秦春林 著   ISBN 978-7-121-246 ...

  9. 千呼万唤始出来:Apache Spark2.0正式发布

    我们很荣幸地宣布,自7月26日起Databricks开始提供Apache Spark 2.0的下载,这个版本是基于社区在过去两年的经验总结而成,不但加入了用户喜爱的功能,也修复了之前的痛点. 本文总结 ...

随机推荐

  1. http与https通信

    HTTP协议 http协议与https协议的区别 GET请求和POST请求的说明与比较 发送GET和POST请求(使用NSURLSession)

  2. 十二生肖查询网页版制作(php)

    今天无聊做了一个十二生肖查询器: 预览网址效果:http://hongxing01.hktd02u.me48.com/03Sxcx 源代码下载:http://down.51cto.com/data/1 ...

  3. BZOJ4283: 魔法少女伊莉雅(最短路径图+最短路径树)

    题面 传送门 题解 太长了不想写了→_→ 题解 //minamoto #include<bits/stdc++.h> #define R register #define inf 0x3f ...

  4. ElasticSearch速学 - IK中文分词器远程字典设置

    前面已经对”IK中文分词器“有了简单的了解:  但是可以发现不是对所有的词都能很好的区分,比如:  逼格这个词就没有分出来. 词库 实际上IK分词器也是根据一些词库来进行分词的,我们可以丰富这个词库. ...

  5. 【FAQ】Maven 本地仓库明明有jar包,pom文件还是报错解决办法

    方法一: 找到出错的jar包文件位置,删掉_maven.repositories文件 方法二: maven中的本地仓库的index索引没有更新导致 解决方案: 在eclipse中打开菜单 window ...

  6. yum 安装和卸载

    yum list列出资源库中特定的可以Linux Yum安装或更新以及已经安装的rpm包 安装 yum install 安装包关键字 卸载 yum remove 安装包名

  7. leetcode-374-Guess Number Higher or Lower(二分查找)

    题目描述: We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have t ...

  8. VS2015编译器按F6不能够重新生成

    工具-->选项-->环境-->键盘-->应用以下其他键盘映射方案,下拉选择 Visual C# 2005

  9. 手动启动 oracle 服务

      手动启动 Oracle 服务 为了学习,我们常常会在个人PC上安装 Oracle 数据库,这大大影响了计算机的运行速度,尤其是计算机开机速度,如果 Oracle 使用频率并不是非常高,我们可以禁止 ...

  10. CSS外边距合并&块格式上下文

    前言问题Margin Collapsing 外边距合并Block Formatting Context 块格式化上下文解决方案参考 前言 之前在前端开发的过程中,都没有遇到外边距合并的问题(其实是因为 ...