首頁 >後端開發 >php教程 >php7新增表達式常數和關鍵字介紹

php7新增表達式常數和關鍵字介紹

伊谢尔伦
伊谢尔伦原創
2017-06-27 09:52:522010瀏覽

最近做的專案使用了 php7,但感覺有很多新功能沒用起來。就想總結一下,一些可能會用到的新特性。之前使用的環境是php5.4,所有也會有php5.5 和php5.6 的特性總結進來,這裡只列出我覺得在專案中可能用到的特性,主要內容來自php手冊的附錄。

Generators (PHP 5 >= 5.5.0, PHP 7)

##透過新增yield 關鍵字支援了generators, Generators 提供了一個更簡單的方法實作迭代器,不需要實作Iterator 介面。

<?php
function xrange($start, $limit, $step = 1) {
 for ($i = $start; $i <= $limit; $i += $step) {
  yield $i;
 }
}

echo &#39;Single digit odd numbers: &#39;;

/* 注意保存在内存中的数组绝不会被创建或返回 */
foreach (xrange(1, 9, 2) as $number) {
 echo "$number ";
}

以上例程會輸出:

Single digit odd numbers: 1 3 5 7 9


##詳情點擊

產生器

新增finally 關鍵字(PHP 5 >= 5.5.0, PHP 7)


try-catch 現在支援finally

#foreach 現在支援list() (PHP 5 >= 5.5.0, PHP 7)


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: 4



array_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 = &#39;The value of THREE is &#39;.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 = [&#39;a&#39;, &#39;b&#39;];

echo ARR[0];
?>

以上例程會輸出:

a

以上是php7新增表達式常數和關鍵字介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn