標(biāo)量類型聲明:
增加了對(duì)返回類型聲明的支持。
<?php
function arraySum(array ...$arrays): array
{
? ? return array_map(function(array $array): int {
? ? ? ? return array_sum($array);
? ? }, $arrays);
}
print_r(arraySum([1,2,3], [4,5,6,], [7,8,9]));
?>
默認(rèn)情況下,所有PHP文件都處于弱類型校驗(yàn)?zāi)J?。?biāo)量類型聲明模式有兩種:強(qiáng)制模式(默認(rèn))和嚴(yán)格模式。
標(biāo)量類型聲明語(yǔ)法如下:
declare(strict_type = 1);
通過(guò)指定strict_types的值(1或者0)來(lái)表示校驗(yàn)?zāi)J剑?表示嚴(yán)格類型校驗(yàn)?zāi)J剑糜诤瘮?shù)調(diào)用和返回語(yǔ)句;0表示強(qiáng)制類型。
null 合并運(yùn)算符:
新增了null合并運(yùn)算符"??". 它可以替換三元表達(dá)式和isset()。
$a = isset($_GET['a']) ? $_GET['a'] : 1;
現(xiàn)在可以替換成
$a = $_GET['a'] ?? 1;
組合比交符:
<=>用于比較兩個(gè)表達(dá)式。如$a <=> $b,表示當(dāng)$a大于,等于或者小于$b時(shí)分別返回1, 0, -1.
通過(guò)define()定義常量數(shù)組:
<?php
define('PERSON', ['xiaoming', 'xiaoli', 'xiaolan']);
echo PERSON[1];
?>
匿名類:
現(xiàn)在支持通過(guò)new class來(lái)實(shí)例化一個(gè)匿名類。
支持Unicode字符格式:
PHP7 支持任何有效的codepoint編碼,輸出為UTF-8編碼格式的字符串。
<?php
echo "\u{6666}";
?>
更多的Error變?yōu)榭刹东@的Exception:
PHP 7 中更多的Error變?yōu)榭刹东@的Exception,如果不進(jìn)行捕獲,則為Error, 如果捕獲,就變?yōu)橐粋€(gè)可在程序內(nèi)處理的Exception。這些可被捕獲的Error通常都是不會(huì)對(duì)程序造成致命傷害的Error,如函數(shù)不存在等。
性能大幅提升:
PHP 7比PHP 5速度快2倍多。另外PHP7降低內(nèi)存消耗,優(yōu)化后PHP7使用更少的資源比PHP 5.6低了50%的內(nèi)存消耗。同時(shí)PHP 7 也支持64位架構(gòu)機(jī)器,運(yùn)算速度更快。 PHP 7 可以服務(wù)更多的并發(fā)客戶。