2013-04-10 67 views
0

我的代碼片段從這裏之前,是好奇這個語法,我原本複製粘貼:說明沒有括號的「數組」的目的?

function create(array &$data){ 
    #blah blah... 
} 

什麼是array &$data目的就其本身不是&$data? 換句話說,在這種情況下聲明array是做什麼的?

回答

4

這就是所謂的type hinting

PHP 5引入了類型提示。函數現在能夠強制 參數成爲對象(通過在 函數原型中指定類的名稱),接口,數組(從PHP 5.1開始)或可調用的 (從PHP 5.4開始)。但是,如果將NULL用作默認參數 的值,則它將被允許作爲任何稍後調用的參數。

如果類或接口被指定爲類型提示,則其所有子項 或實現也被允許。

類型提示不能用於標量類型,如int或string。 性狀也是不允許的。