中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中的類型提示功能是什么

發布時間:2020-12-21 15:41:55 來源:億速云 閱讀:141 作者:Leah 欄目:開發技術

PHP中的類型提示功能是什么?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

概述

從PHP5開始,我們可以使用類型提示來指定定義函數時,函數接收的參數類型。如果在定義函數時,指定了參數的類型,那么當我們調用函數時,如果實參的類型與指定的類型不符,那么PHP會產生一個致命級別的錯誤(Catchable fatal error)。

類名稱和數組

在定義函數時,PHP只支持兩種類型聲明:類名稱和數組。類名稱表名該參數接收的實參為對應類實例化的對象,數組表明接收的實參為數組類型。下面是一個例子:

復制代碼 代碼如下:


function demo(array $options){
  var_dump($options);
}


在定義demo()函數的時候,指定了函數接收的參數類型為數組。如果我們調用函數時,傳入的參數不是數組類型,例如像下面這樣的調用:

復制代碼 代碼如下:


$options='options';
demo($options);


那么將產生以下錯誤:

復制代碼 代碼如下:


Catchable fatal error: Argument 1 passed to demo() must be of the type array, string given,

可以使用null作為默認參數

注意

有一點需要特別注意的是,PHP只支持兩種類型的類型聲明,其他任何標量類型的聲明都是不支持的,比如下下面的代碼都將產生錯誤:

復制代碼 代碼如下:


function demo(string $str){
}
$str="hello";
demo($str)

當我們運行上面的代碼時,string會被當做類名稱對待,因此會報下面的錯誤:
Catchable fatal error: Argument 1 passed to demo() must be an instance of string, string given,

總結

類型聲明也是PHP面向對象的一個進步吧,尤其是在捕獲某種指定類型的異常時非常有用。
使用類型聲明,也可以增加代碼的可讀性。
但是,由于PHP是弱類型的語言,使用類型聲明又于PHP設計的初衷相悖。

關于PHP中的類型提示功能是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

凤城市| 丹棱县| 全南县| 乌海市| 岫岩| 扶绥县| 呼和浩特市| 阜阳市| 万宁市| 香格里拉县| 尤溪县| 蕉岭县| 贡嘎县| 怀集县| 丹棱县| 饶平县| 沈丘县| 新津县| 昆明市| 枞阳县| 琼中| 富源县| 五河县| 曲阳县| 北票市| 南宁市| 琼结县| 突泉县| 晋江市| 西充县| 安多县| 纳雍县| 贵南县| 青龙| 苍南县| 贵定县| 塘沽区| 深州市| 大城县| 河北省| 怀安县|