標量型別宣告 有兩種模式: 強制 (默認) 和 嚴格模式, 現在可以使用下列型別引數(無論用強制模式還是嚴格模式): 字串(string), 整數 (int), 浮點數 (float), 以及布林值 (bool),它們擴充了PHP5中引入的其他型別:類名,介面,陣列和 回呼型別,
下面是PHP7最新版本中新增加的特性的一些代碼與實體的相關內容,文章教程主要講述與PHP7 相關的一些技術與知識,下面是教程講解:
1.標量型別宣告
a) 標量型別宣告 有兩種模式: 強制 (默認) 和 嚴格模式, 現在可以使用下列型別引數(無論用強制模式還是嚴格模式): 字串(string), 整數 (int), 浮點數 (float), 以及布林值 (bool),它們擴充了PHP5中引入的其他型別:類名,介面,陣列和 回呼型別,
<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}
var_dump(sumOfInts(2, '3', 4.1));
以上結果會輸出 : int(9)https://www.hfxskyyj.com/
要使用嚴格模式,一個 declare 宣告指令必須放在檔案的頂部,這意味著嚴格宣告標量是基于檔案可配的, 這個指令不僅影響引數的型別宣告,也影響到函式的回傳值宣告(參見 回傳值型別宣告, 內置的PHP函式以及擴展中加載的PHP函式)
2.回傳型別宣告
a) PHP 7 增加了對回傳型別宣告的支持, 類似于引數型別宣告,回傳型別宣告指明了函式回傳值的型別,可用的型別與引數宣告中可用的型別相同,
<?php
function arraysSum(array ...$arrays): 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]));
輸出結果為:
Array
(
[0] => 6
[1] => 15
[2] => 24
)
3.null合并運算子
a) 由于日常使用中存在大量同時使用三元運算式和 isset()的情況, 我們添加了null合并運算子 (??) 這個語法糖,如果變數存在且值不為NULL, 它就會回傳自身的值,否則回傳它的第二個運算元,
$username = $_GET['user_name']??'nobody';
4.太空船運算子(組合比較符)
a) 太空船運算子用于比較兩個運算式,當$a小于、等于或大于$b時它分別回傳-1、0或1, 比較的原則是沿用 PHP 的常規比較規則進行的,
<?php
// 整數
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// 浮點數
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// 字串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/38656.html
標籤:PHP
