PHP7新增功能有哪些-创新互联-成都快上网建站

PHP7新增功能有哪些-创新互联

这篇文章将为大家详细讲解有关PHP7新增功能有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联自2013年创立以来,先为柳北等服务建站,柳北等地企业,进行企业商务咨询服务。为柳北企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数,


 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)

 

以上代码如果不开启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新增功能有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


标题名称:PHP7新增功能有哪些-创新互联
文章网址:http://kswjz.com/article/cdigpg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流