美文网首页
PHP7新特征

PHP7新特征

作者: 乔四儿丶 | 来源:发表于2020-08-19 13:59 被阅读0次

指定参数 返回值类型

强制模式(默认)
严格模式(declare(strict_types=1); )

<?php
// 强制模式
function sum(int ...$ints)
{
   return array_sum($ints);
}

print(sum(2, '3', 4.1));
?>
返回值为9
<?php
// 严格模式
declare(strict_types=1);

function sum(int ...$ints)
{
   return array_sum($ints);
}

print(sum(2, '3', 4.1));
?>
报错

zval 结构的变化

变量的引用计数只记录在自身

引入 Throwable 接口

错误及异常都实现了 Throwable,无法直接实现 Throwable,但可以扩展 \Exception 和 \Error 类。可以用 Throwable 捕捉异常跟错误。\Exception 是所有PHP及用户异常的基类;\Error 是所有内部PHP错误的基类。

intdiv() 函数

intdiv(a, b) == a除以b,然后取整
<?php
echo intdiv(9,3),PHP_EOL; // 3
echo intdiv(10,3),PHP_EOL; // 3
echo intdiv(5,10),PHP_EOL; // 0
?>

常量数组

<?php
// 使用 define 函数来定义数组
define('sites', [
   'Google',
   'Runoob',
   'Taobao'
]);

print(sites[1]);
?>

合并运算符(??,?:)

NULL 合并运算符(??)会判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。
a ?: 0不等同于 !empty(a) ? a : 0。a未定义时a?:0会报错,!empty(a)不会

$a = 10;
var_dump($a ?? "a"); // 相当于: isset($a) ? $a : 'a' => 输出 10  
var_dump($a ?: "b"); // 相当于: $a ? $a : 'a' =>输出 10

use

同一个命名空间引入不同函数、对象时,可以用{}

use some\namespace\{ClassA, ClassB, ClassC as C};

太空船运算符

用于比较两个表达式 a 和b,如果 a 小于、等于或大于b时,它分别返回-1、0或1。
a <=>b

支持数组内解包 – 数组扩展Spread运算符(php7.4)

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
var_dump($fruits);
相当于array_merge但是更快

箭头函数 2.0 (简短闭包php7.4)

function cube($n){
    return ($n * $n * $n);
  }
  $a = [1, 2, 3, 4, 5];
  $b = array_map('cube', $a);
  print_r($b);
  
$a = [1, 2, 3, 4, 5];
$b = array_map(fn($n) => $n * $n * $n, $a);
print_r($b);

预加载,是在模块初始化的时候,将库和框架加载到 OPCache 中

支持对const可见限定

相关文章

  • PHP7新特征

    指定参数 返回值类型 强制模式(默认)严格模式(declare(strict_types=1); ) zval 结...

  • centos lanmp环境php5升级为php7

    centos lanmp环境php5升级为php7 更新yum repo 卸载现有版本的php 安装新的php7及...

  • PHP7 新特性你知道多少?

    PHP7 新特性你知道多少? 2015.12.3发生了两件大事,PHP7问世了,Swift开源了。 最好的语言发布...

  • 高性能PHP7【笔记】

    一、搭建环境 二、PHP7新特性 A.OOP特性 1.类型声明 PHP7支持的形参类型声明的类型有整型、浮点型、字...

  • PHP7新特性系列 简介

    PHP7带来了巨大的性能的提升,更加方便的语法,但是只有通过深入的了解,才能够有效地利用这些利好。《PHP7新特性...

  • PHP 7 新特征

    最好的语言发布了新的版本,一个划时代的大版本:PHP7。 PHP7修复了大量BUG,新增了功能和语法糖。这些改动涉...

  • PHP7的性能革新

    PHP7有哪些新性能?长期以来PHP饱受争议的性能问题,将会在PHP7得到大幅度的改善。下面我们一起来看看。 PH...

  • 什么样的人能称为新工匠

    特征一:新审美 特征二:新技术 特征三:新连接:品牌人格化,传播口碑化

  • PHP7新特性

    标量类型声明PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 ...

  • PHP7新特性

    简介 PHP7是PHP编程语言的一个主要版本,并号称是开发Web应用程序的一次革命,可开发和交付移动企业和云应用。...

网友评论

      本文标题:PHP7新特征

      本文链接:https://www.haomeiwen.com/subject/krwrjktx.html