本文實例講述了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);
運行效果圖如下:
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。