最近做的專案使用了 php7,但感覺有很多新功能沒用起來。就想總結一下,一些可能會用到的新特性。之前使用的環境是php5.4,所有也會有php5.5 和php5.6 的特性總結進來,這裡只列出我覺得在專案中可能用到的特性,主要內容來自php手冊的附錄。
Generators (PHP 5 >= 5.5.0, PHP 7)
<?php function xrange($start, $limit, $step = 1) { for ($i = $start; $i <= $limit; $i += $step) { yield $i; } } echo 'Single digit odd numbers: '; /* 注意保存在内存中的数组绝不会被创建或返回 */ foreach (xrange(1, 9, 2) as $number) { echo "$number "; }以上例程會輸出:Single digit odd numbers: 1 3 5 7 9
##詳情點擊
try-catch 現在支援finally
foreach 控制結構現在支援透過list() 建構將嵌套數組分離到單獨的變數。例如:
<?php $array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { echo "A: $a; B: $b\n"; } ?>
以上例程會輸出:
A: 1; B: 2
A: 3; B: 4array_column (PHP 5 >= 5.5.0, PHP 7)
array_column — 傳回數組中指定的一列
表達式定義常數(PHP 5 >= 5.6.0, PHP 7)
在先前的PHP 版本中,必須使用靜態值來定義常數,聲明屬性以及指定
預設值。 現在你可以使用包含數值、字串字面量以及其他常數在內的數值表達式來 定義常數、宣告屬性、設定函數參數預設值。 <?php
const ONE = 1;
const TWO = ONE * 2;
class C {
const THREE = TWO + 1;
const ONE_THIRD = ONE / self::THREE;
const SENTENCE = 'The value of THREE is '.self::THREE;
public function f($a = ONE + self::THREE) {
return $a;
}
}
echo (new C)->f()."\n";
echo C::SENTENCE;
?>
以上例程會輸出:
4
The value of THREE is 3
現在可以透過const 關鍵字來定義類型為array 的常數。
<?php const ARR = ['a', 'b']; echo ARR[0]; ?>
以上例程會輸出:
a
以上是php7新增表達式常數和關鍵字介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!