php7的新特性

2021-07-11 17:03:45 字數 2389 閱讀 5995

截止到目前為止,php官方已經發布了php7的rc5版本,預計在11月份左右會發布第乙個正式版本!現在來說php7的重大特性肯定已經是定型了,不會再有什麼變動了。後續一些版本的迭代主要也就是修修bug,優化之類的。下面就來說話我們一直期待的php7.0新特徵吧。

1.標量引數型別宣告

現在支援字串(string)、整型(int)、浮點數(float)、及布林型(bool)引數宣告,以前只支援類名、介面、陣列及callable

兩種風格:強制轉換模式(預設)與嚴格模式

<?php

// coercive mode

function sumofints(int ...$ints)

var_dump(sumofints(2, '3', 4.1));

2.返回型別宣告

<?php

function arrayssum(array ...$arrays): array

, $arrays);

}print_r(arrayssum([1,2,3], [4,5,6], [7,8,9]));

3.??運算子

?? 用於替代需要isset的場合,這是乙個語法糖。

<?php

// fetches the value of $_get['user'] and returns 'nobody'

// if it does not exist.

$username = $_get['user'] ?? 'nobody';

// this is equivalent to:

$username = isset($_get['user']) ? $_get['user'] : 'nobody';

// coalescing can be chained: this will return the first

// defined value out of $_get['user'], $_post['user'], and

// 'nobody'.

$username = $_get['user'] ?? $_post['user'] ?? 'nobody';

4.<=> 比較運算子

就是看兩個表示式值的大小,三種關係: = 返回0、< 返回-1、 > 返回 1

<?php

// integers

echo 1 <=> 1; // 0

echo 1 <=> 2; // -1

echo 2 <=> 1; // 1

// floats

echo 1.5 <=> 1.5; // 0

echo 1.5 <=> 2.5; // -1

echo 2.5 <=> 1.5; // 1

// strings

echo "a" <=> "a"; // 0

echo "a" <=> "b"; // -1

echo "b" <=> "a"; // 1

5.define支援定義陣列型別的值

php 5.6已經支援const 語法定義陣列類的常量,php7中支援define語法。

<?php

define('animals', [

'dog',

'cat',

'bird'

]);echo animals[1]; // outputs "cat"

6.匿名類

<?php

inte***ce logger

private $logger;

public function getlogger(): logger

public function setlogger(logger $logger)

}public function log(string $msg)

});

7.增加了整除函式 intdiv

小結:

php 7在效能方面的突破成為近來最熱門的話題之一,目前官方php 7.0.0 beta 2已經發布

新特性

效能提公升:php 7要比php 5.6快兩倍

全面一致的64位支援

移除了一些老的不在支援的sapi(伺服器端應用程式設計埠)和擴充套件

新增了空接合操作符(??)

PHP7的新特性

php7 從發布到現在已經有快三年的時間了,現在已經發展到 php7.2.9 版本了。它的發布給 php 帶來了很大的效能提公升,這主要是得益於 php 對 zend 引擎的深度優化,同時還降低了 php 對系統的資源占用。主要的變化有以下幾點 在php之前的版本中,php 在語法解析階段直接生成了...

php7的新特性

php7新特性 太空船操作符 echo 1 1 0 echo 1 2 1 echo 2 1 1 型別宣告 declare strict types 1 strict types 1表示開啟嚴格模式 function sum int.ints int 3.null合併操作符 page 0 page?0...

PHP7 常用新特性

1.標量型別宣告 php是一種弱型別的程式語言,因此沒有提供任何方法來指定輸入引數和返回值的型別,php7突破了這種現狀,增加了對標量型別 int,float,string,bool 的宣告支援,增加declare strict types 1 指令宣告是否嚴格型別校驗,來看一段 declare s...