本篇文章主要介紹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針對字串操作的方法############php針對檔案操作及字串加密的方法############php操作日期與字串的方法######
以上是PHP中類型提示的作用與使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!