您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP7.3版本有什么新特性”,在日常操作中,相信很多人在PHP7.3版本有什么新特性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP7.3版本有什么新特性”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
is_countable
rfc當(dāng)計數(shù)不可數(shù)的對象時,PHP 7.2添加了警告。 is_countable函數(shù)可以幫助防止此警告。
$count = is_countable($variable) ? count($variable) : null;
array_key_first
和 array_key_last
rfc這兩個函數(shù)基本上可以按照名稱所說的進行操作。
$array = ['a' => '…','b' => '…','c' => '…', ]; array_key_first($array); // 'a'array_key_last($array); // 'c'
原始RFC還提出了 array_value_first
和 array_value_last
, 但是這些遭到了大多數(shù)人的反對。
另一個 array_first
和 array_last
被返回一個元組 [$key => $value]
,目前,我們只有兩個函數(shù)來獲取數(shù)組的第一個鍵和最后一個鍵。
Heredoc對于較大的字符串可能是有用的工具,盡管過去它們有縮進的怪癖。
// Instead of this:$query = <<<SQL SELECT * FROM `table` WHERE `column` = true; SQL;// You can do this:$query = <<<SQL SELECT * FROM `table` WHERE `column` = true; SQL;
在已經(jīng)嵌套的上下文中使用Heredoc時,這特別有用。
結(jié)束標(biāo)記前面的空白將在所有行上被忽略。
重要說明:由于此更改,一些現(xiàn)有的Heredocs可能會中斷, 當(dāng)他們在體內(nèi)使用相同的結(jié)束標(biāo)記時。
$str = <<<FOO abcdefgFOO FOO;// Parse error: Invalid body indentation level in PHP 7.3
數(shù)組已經(jīng)可以實現(xiàn)的函數(shù),現(xiàn)在也可以通過函數(shù)調(diào)用來實現(xiàn)。 注意,在函數(shù)定義中是不可能的!
$compacted = compact('posts','units', );
TypeErrors
用于整數(shù)和布爾值,用于打印其全名, 它已更改為 int
和 bool
,以匹配代碼中的類型提示。
Argument 1 passed to foo() must be of the type int/bool
與PHP 7.2相比:
Argument 1 passed to foo() must be of the type integer/boolean
以前,JSON解析錯誤調(diào)試起來很麻煩。 JSON函數(shù)現(xiàn)在接受一個額外的選項,使它們在解析錯誤時引發(fā)異常。 顯然,此更改添加了一個新的異常: JsonException
。
json_encode($data, JSON_THROW_ON_ERROR); json_decode("invalid json", null, 512, JSON_THROW_ON_ERROR);// Throws JsonException
雖然此函數(shù)僅在新添加的選項中可用, 有可能它將成為將來版本中的默認行為。
list()
及其速記的 []
語法現(xiàn)在支持引用。
$array = [1, 2];list($a, &$b) = $array; $b = 3;// $array = [1, 3];
傳遞給 compact
的未定義變量將被通知,并且之前會被忽略。
$a = 'foo'; compact('a', 'b'); // Notice: compact(): Undefined variable: b
此更改不僅添加了新參數(shù), 它也以不變的方式更改了 setcookie
, setrawcookie
和 session_set_cookie_params
函數(shù)的工作方式。
它們現(xiàn)在不再支持已經(jīng)龐大的函數(shù),而是支持一系列選項,同時仍向后兼容。 一個例子:
bool setcookie( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, array $options ]]] ) // Both ways work.
您不能再將非字符串針傳遞給字符串搜索函數(shù)。 這些是受影響的函數(shù):
strpos() strrpos() stripos() strripos() strstr() strchr() strrchr() stristr()
到此,關(guān)于“PHP7.3版本有什么新特性”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。