php7 新特性

1: 增加了太空船

PHP7 引入的一个新功能,在 PHP7 中,它用来比较两个表达式:当第一个表达式分别小于、等于或大于第二个表达式时,它返回的值为:-1、0 或 1。

PHP7 太空船操作符的表达式为:
$z = $x <=> $y;
上述代码所表达的意思如下:

如果 $x > $y,则 $z 的值为 1;
如果 $x == $y,则 $z 的值为 0;
如果 $x < $y,则 $z 的值为 -1;

2:类型声明

php7为了提高执行效率,在函数方法中增加了标量类型(布尔、浮点、整型、字符)的申明特性,节省了对数据类型的检测。

php7 仍然支持弱类型检测,即仍然可以使用原来的方式声明形参。

标量声明有两种特性:

强制模式(默认):体现在类型转换上

严格模式

模式声明:declare(strict_types=1);

默认情况值为0,值为1代表为严格校验的模式

3:PHP 7 新增加的 NULL 合并运算符(??)是用于执行isset()检测的三元运算的快捷方式。

NULL 合并运算符会判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。

以前我们这样写三元运算符:

$site = isset($_GET['site']) ? $_GET['site'] : '菜鸟教程';

现在我们可以直接这样写:

$site = $_GET['site'] ?? '菜鸟教程';

4 php7 可以define 定义常量数组了

利用php7的define定义数组

define('language', ['php', 'java', 'jsp', 'asp']);

echo language[1];

5 namespace批量导入

//php之前

use Space\ClassA; use Space\ClassB; use Space\ClassC C;

//php7 后 

use Space\{ClassA,ClassB,ClassC as C};

6

class A {private $x = 1;}

//  PHP 5 代码

$getXCB = function() {return $this->x;};

$getX = $getXCB->bindTo(new A, 'A');

// intermediate closure echo $getX();

// PHP 7+ 代码

$getX = function() {return $this->x;};

echo $getX->call(new A);

6 新增intdiv函数

7 list() 简略([])写法

php7之前

list($a,$b,$c) = [1,2,3];

php7

[$a,$b,$c] = [1,2,3];

你可能感兴趣的:(php7,面试题整理)