我整理的PHP 7.0主要新特性


Posted in PHP onJanuary 07, 2016

截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了。后续一些版本的迭代主要也就是修修bug,优化之类的。下面就来说话我们一直期待的php7.0新特征吧。

1.标量参数类型声明

现在支持字符串(string)、整型(int)、浮点数(float)、及布尔型(bool)参数声明,以前只支持类名、接口、数组及Callable
两种风格:强制转换模式(默认)与严格模式

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}
var_dump(sumOfInts(2, '3', 4.1));

2.返回类型声明

<?php
function arraysSum(array ...$arrays): array
{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

3.??运算符

?? 用于替代需要isset的场合,这是一个语法糖。

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

4.<=> 比较运算符

就是看两个表达式值的大小,三种关系: = 返回0、< 返回-1、 > 返回 1

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

5.define支持定义数组类型的值

php 5.6已经支持CONST 语法定义数组类的常量,PHP7中支持define语法。

<?php
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
echo ANIMALS[1]; // outputs "cat"

6.匿名类

<?php
interface Logger {
public function log(string $msg);
}
class Application {
private $logger;
public function getLogger(): Logger {
return $this->logger;
}
public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}
$app = new Application;
$app->setLogger(new class implements Logger {
public function log(string $msg) {
echo $msg;
}
});
var_dump($app->getLogger());

7.增加了整除函数 intdiv

小结:

PHP 7在性能方面的突破成为近来最热门的话题之一,目前官方PHP 7.0.0 Beta 2已经发布

新特性

性能提升:PHP 7要比PHP 5.6快两倍

全面一致的64位支持

移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展

新增了空接合操作符(??)

PHP 相关文章推荐
浅析PHP水印技术
Feb 14 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
php表单处理操作
Nov 16 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
php微信开发之图片回复功能
Jun 14 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
php上传图片生成缩略图(GD库)
Jan 06 #PHP
joomla数据库操作示例代码
Jan 06 #PHP
Yii清理缓存的方法
Jan 06 #PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 #PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 #PHP
基于PHP技术开发客服工单系统
Jan 06 #PHP
分享php邮件管理器源码
Jan 06 #PHP
You might like
配置支持SSI
2006/11/25 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
Python创建日历实例
2014/08/21 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
解决Python一行输出不显示的问题
2018/12/03 Python
详解Python3 基本数据类型
2019/04/19 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
一套C++笔试题面试题
2012/06/06 面试题
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
通报表扬范文
2015/01/17 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书