這篇文章主要介紹了PHP7標量類型declare用法,結合實例形式分析了PHP7中標量類型declare的功能、特性與相關使用技巧,需要的朋友可以參考下
本文實例講述了PHP7標量類型declare用法。分享給大家供大家參考,具體如下:
php7為了提高執行效率,在函數方法中增加了標量類型(布林、浮點、整數、字元)的申明特性,節省了對資料型別的偵測。
php7 仍然支援弱型別檢測,即仍可使用原先的方式宣告形參。
標量宣告有兩種特性:
強制模式(預設):體現在型別轉換上
嚴格模式
模式宣告:declare(strict_types=1);
預設值值為0,值為1代表為嚴格校驗的模式
可以使用的類型參數:
int-float-bool-string-interfaces-array-callable
作用於形參與返回值類型說明,可選
##形參#
//强制模式 <?php /** * Created by PhpStorm. * User: bee * Date: 2016/4/22 * Time: 10:17 */ // php7之前申明方式 function type_weak(... $int){ return array_sum($int); } // 强制模式 php7声明方式 //强制模式下会将所有实参转换为整型 function sum(int ... $ints) { //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。 print_r($ints); echo "<br>"; return array_sum($ints); } echo type_weak(2, '3',0.11); echo "<hr>"; echo sum(2, '3',0.11);運行效果圖如下:
//将模式申明为严格模式 <?php /** * Created by PhpStorm. * User: bee * Date: 2016/4/22 * Time: 10:17 */ //declare 必须在文件首部 declare(strict_types=1); // 强制模式(默认) function type_weak(... $int){ return array_sum($int); } // 强制模式 function sum(int ... $ints) { //array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。 print_r($ints); echo "<br>"; return array_sum($ints); } echo type_weak(2, '3',0.11); echo "<hr>"; //实参存在字符串与浮点型,报错 echo sum(2, '3',0.11);運行效果圖如下: ##傳回值
<?php
/**
* Created by PhpStorm.
* User: bee
* Date: 2016/4/22
* Time: 10:17
*/
declare(strict_types=0);
// 强制模式(默认)
function type_weak(... $int) :int{
return array_sum($int);
}
// 强制模式
function sum(int ... $ints) :int
{
//array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。
print_r($ints);
echo "<br>";
//严格模式下报错
return array_sum($ints)+0.6;
}
echo type_weak(2, '3',0.11);
echo "<hr>";
echo sum(2, '3',0.11);
運行效果圖如下:
以上是PHP7中標量類型declare的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!