这篇文章将为大家详细讲解有关PHP7新增功能有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
PHP语言一个非常重要的特点就是“弱类型”,它让PHP的程序变得非常容易编写,新手接触PHP能够快速上手,不过,它也伴随着一些争议。支持变量类型的定义,可以说是革新性质的变化,PHP开始以可选的方式支持类型定义。除此之外,还引入了一个开关指令declare(strict_type=1);,当这个指令一旦开启,将会强制当前文件下的程序遵循严格的函数传参类型和返回类型。
1.在use语句增加了group支持
use FooLibrary\Bar\Baz\{ ClassA, ClassB, ClassC, ClassD as Fizbo };
2.增加??操作符
isset($_GET['mykey']) ? $_GET['mykey'] : ""笨重
$_GET['mykey'] ?: "" 当mykey不存在时会报一个E_NOTICE
$_GET['mykey'] ?? 'defaultvalue' 安全不会报E_NOTICE
$username = $_GET['user'] ?? 'nobody';
3. 64位PHP7字符串长度可以超过2^31次方字节。
4.增加Closure::call支持
Closure::call将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数,
<?php
class Value {
protected $value;
public function __construct($value) {
$this->value = $value;
}
public function getValue() {
return $this->value;
}
}
$three = new Value();
$four = new Value();
$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, );
$closure->call($four, );
?>
// outputs int(),int()
5.双引号字符串和heredocs里面支持使用\u{xxxxx}来声明unicode字符。
6.define对数组的支持
define('ANIMALS', array(
'dog',
'cat',
'bird'
));
echo ANIMALS[]; // outputs "cat"
7.增加比较运算符<=>
$a <=> $b
如果a等于b则为0
如果a大于b则为1
如果a小于b则为-1
8.php全局保留字可以声明使用
class View {
public function include(View $view) {
//...
}
}
include关键字可以当普通字符串关键字一样被使用
9.标量类型(int,float,string,bool)支持
增加declare(strict_types=1)指令声明是否严格类型校验,
当在文件头声明declare(strict_types=1)
<php
declare(strict_types=);
function add(float $a, float $b): float {
return $a + $b;
}
add(, ); // float()
以上代码如果不开启declare(strict_types=1)或许declare(strict_types=0),php将自动转换参数和返回值到指定类型,
开启declare(strict_types=1),如果参数类型不是flaot或许返回类型不是float则抛出错误
10.增加接口为用户层提供安全方便的随机数生成器。RFC: https://wiki.php.net/rfc/easy_userland_csprng (后续再议)
11.增加了yield from 操作符。https://wiki.php.net/rfc/generator-delegation (后续再议)
关于“PHP7新增功能有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。