PHP7.0的新特性有哪些-创新互联

今天就跟大家聊聊有关PHP 7.0的新特性有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联公司专注于信宜网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供信宜营销型网站建设,信宜网站制作、信宜网页设计、信宜网站官网定制、微信小程序开发服务,打造信宜网络公司原创品牌,更为您提供信宜网站排名全网营销落地服务。

 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。

用法: $a = $_GET['a']  1;它相当于:

 运算符(NULL 合并运算符)


把这个放在第一个说是因为我觉得它很有用。用法:

$a = $_GET['a'] ?? 1;它相当于:

<?php $a = isset($_GET['a']) ? $_GET['a'] : 1;我们知道三元运算符是可以这样用的:

$a ?: 1 但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算符可以简化判断。

1.函数返回值类型声明


官方文档提供的例子(注意 ... 的边长参数语法在 PHP 5.6 以上的版本中才有):

<?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])); 从这个例子中可以看出现在函数(包括匿名函数)都可以指定返回值的类型。

这种声明的写法有些类似于 Swift:

func sayHello(personName: String) -> String { let greeting = "Hello, " + personName + "!" return greeting }这个特性可以帮助我们避免一些 PHP 的隐式类型转换带来的问题。在定义一个函数之前就想好预期的结果可以避免一些不必要的错误。

不过这里也有一个特点需要注意。PHP 7 增加了一个 declare 指令:strict_types,既使用严格模式。

使用返回值类型声明时,如果没有声明为严格模式,如果返回值不是预期的类型,PHP 还是会对其进行强制类型转换。但是如果是严格模式, 则会出发一个 TypeError 的 Fatal error。

强制模式:

<?php function foo($a) : int { return $a; } foo(1.0);以上代码可以正常执行,foo 函数返回 int 1,没有任何错误。

严格模式:

<?php declare(strict_types=1); function foo($a) : int { return $a; } foo(1.0);

新闻名称:PHP7.0的新特性有哪些-创新互联
网站链接:http://scjbc.cn/article/dsocsp.html

其他资讯