今天就跟大家聊聊有關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);
運行效果圖如下:
看完上述內容,你們對declare如何在PHP7中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。