程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP7新功能及語法變化總結

PHP7新功能及語法變化總結

編輯:PHP綜合

1、標量類型聲明
有兩種模式: 強制 (默認) 和 嚴格模式。 現在可以使用下列類型參數(無論用強制模式還是嚴格模式): 字符串(string), 整數 (int), 浮點數 (float), 以及布爾值 (bool)。
2、返回值類型聲明
返回類型聲明指明了函數返回值的類型。可用的類型與參數聲明中可用的類型相同。

<?php
function arraysSum(array []):array{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);

}
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
?>

3、null合並運算符

項目中存在大量同時使用三元表達式和 isset()的情況,新增了null合並運算符 (??) 這個語法(如果變量存在且值不為NULL, 它就會返回自身的值,否則返回第二個操作數。)
4、太空船操作符(組合比較符)
太空船操作符用於比較兩個表達式。當$a小於、等於或大於$b時它分別返回-1、0或1

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

5、通過define()定義常量數組

<?php
define('ANIMALS', ['dog', 'cat', 'bird']);
echo ANIMALS[1]; // outputs "cat"
?>

6、匿名類

現在支持通過new class 來實例化一個匿名類

<?php

interface Logger {
public function log(string $msg);
}

class Application {
private $logger;
public function getLogger(): Logger {
return $this->logger;
}

public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}

$app = new Application;
$app->setLogger(new class implements Logger {
public function log(string $msg) {
echo $msg;
}
});

var_dump($app->getLogger());
?>

7、Unicode codepoint 轉譯語法

這接受一個以16進制形式的 Unicode codepoint,並打印出一個雙引號或heredoc包圍的 UTF-8 編碼格式的字符串。 可以接受任何有效的 codepoint,並且開頭的 0 是可以省略的。

……待續

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved