1073.67php,這是一個令人興奮的數(shù)字。它代表著PHP在2019年3月6日推出的最新版本。本文將詳細(xì)介紹這個版本的新特性和改進(jìn)。
Null Coalescing賦值運(yùn)算符
//在PHP 7.3.0中 $test = $test ?? 'default value'; //在PHP 7.2及之前版本中 $test = isset($test) ? $test : 'default value';
我們在寫代碼時經(jīng)常需要檢查變量是否存在,并且給定默認(rèn)值。之前,我們會使用三元運(yùn)算符來實(shí)現(xiàn)。在PHP 7.3.0中,為了方便開發(fā)人員,Null Coalescing賦值運(yùn)算符引入了一個更精簡的語法形式。如果變量不存在,它將返回默認(rèn)值。
JSON_THROW_ON_ERROR
//在PHP 7.3.0中 $json = json_encode($data, JSON_THROW_ON_ERROR); //在PHP 7.2及之前版本中 $json = json_encode($data); if (json_last_error() !== JSON_ERROR_NONE) { throw new Exception('Error encoding JSON: ' . json_last_error_msg()); }
在PHP 7.3.0中,當(dāng)我們使用json_encode()函數(shù)時,我們可以添加一個新選項(xiàng)JSON_THROW_ON_ERROR來拋出異常。它允許更容易地處理JSON編碼中的錯誤,并使代碼更易讀和更可靠。
is_countable()函數(shù)
//在PHP 7.3.0中 if (is_countable($array)) { echo count($array); } else { echo 'The variable is not an array or a Countable object'; } //在PHP 7.2及之前版本中 if (is_array($array) || $array instanceof Countable) { echo count($array); } else { echo 'The variable is not an array or a Countable object'; }
在PHP 7.3.0中,is_countable()函數(shù)被引入來判斷給定變量是否是可計(jì)數(shù)的,無需再使用is_array()或instanceof Countable進(jìn)行判斷。它提供了對更廣泛的可計(jì)數(shù)類型的支持,包括迭代器和Countable接口實(shí)現(xiàn)。
瞬時退出函數(shù)
//在PHP 7.3.0之前版本中 if ($status !== 200){ die("Failure: Response code is $status"); } $response = json_decode($body); if(!$response){ die("Failure: Unable to decode JSON response"); } //在PHP 7.3.0中 if ($status !== 200){ exit("Failure: Response code is $status"); } $response = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
在PHP 7.3.0中,函數(shù)可以直接通過調(diào)用exit()函數(shù)來退出而不是調(diào)用die()函數(shù)。此外,json_decode() 函數(shù)現(xiàn)在可以使用選項(xiàng)“JSON_THROW_ON_ERROR”來避免返回空值,這使得代碼更加簡單明了。
總結(jié)來說,PHP 7.3.67帶來了許多新的特性和改進(jìn),其中最重要的是更加簡單直觀的代碼語法和更加強(qiáng)大的功能,這些都將使開發(fā)人員更加便捷地編寫高質(zhì)量代碼。