您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關PHP7新增功能有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
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將一個閉包函數動態綁定到一個新的對象實例并調用執行該函數,
<?php class Value { protected $value; public function __construct($value) { $this->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)
<php declare(strict_types=); function add(float $a, float $b): float { return $a + $b; } add(, ); // float()
以上代碼如果不開啟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新增功能有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。