今天就跟大家聊聊有关PHP 7.0的新特性有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司专注于信宜网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供信宜营销型网站建设,信宜网站制作、信宜网页设计、信宜网站官网定制、微信小程序开发服务,打造信宜网络公司原创品牌,更为您提供信宜网站排名全网营销落地服务。运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。
用法: $a = $_GET['a'] 1;它相当于: <PHP $a = isset($_GET['a']) $_GET['a'] : 1; 我们知道三元运算符是可以这样用的: $a : 1但是这是建立在 $a 已经定义了的前提上。
运算符(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的新特性有哪些-创新互联
标题来源:https://www.cdcxhl.com/article38/dsocsp.html
成都网站建设公司_创新互联,为您提供域名注册、品牌网站设计、云服务器、网站策划、关键词优化、App设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联