2012-11-29 78 views
3

*請將標題改爲引用這個問題的內容,因爲我不知道這是什麼。請解釋這個PHP函數定義

當我讀了一些教程中,我看到這樣的腳本

function testArray(array $categories) { 
var_dump($categories); 
} 

testArray(array('string')); 

在函數定義的array使參數嚴格的必須是數組,我喜歡它。
然後我測試這個腳本

function testString(string $string) { 
    var_dump($string); 
} 

testString('test'); 

爲什麼我得到錯誤這樣Catchable fatal error: Argument 1 passed to testString() must be an instance of string, string given ....
我很確定參數是字符串。

+3

'boolean' 'integer' 'float' 'string' 標量類型的數據types.PHP不支持這種類型的提示。 – som

回答

6

你在說什麼類型暗示。 PHP類型提示只能用於對象和數組。 字符串是不支持標量類型類型提示

更多類型暗示

http://php.net/manual/en/language.oop5.typehinting.php

+0

但希望https://wiki.php.net/rfc/typechecking(正在討論中)和https://wiki.php.net/rfc/scalar_type_hinting_with_cast(正在使用草稿)或者可能不喜歡https:// wiki。 php.net/rfc/parameter_type_casting_hints(撤回)。 – eisberg