2014-12-02 80 views
0

我執行代碼時發現錯誤。函數中的布爾參數會產生錯誤?

function give_me_title(array $var,boolean $condition){ 
    if($condition){ 

     return $var['title']; 
    } 
    else{ 
     return 'la condition n\'est pas remplie'; 
    } 
} 
$published = false; 
print 'Le titre est :'. give_me_title($article,$published); 

錯誤消息

Catchable fatal error: Argument 2 passed to give_me_title()

如果刪除了關鍵字「布爾」與我的精確$參數作爲條件等按照

function give_me_title(array $var,$condition=null) 

錯誤消息消失。是什麼原因? PHP函數不接受布爾參數?

回答

1

您有一個錯字boolan

接下來就是boolean關鍵字不存在於此上下文中,並且您不能使用它來定義參數的類型。

正確的方法是:

對標量值
function give_me_title(array $var, $condition) { 
    $condition = (bool) $condition; 
    // ... 
} 
0

Typehinting在PHP中不支持。

您只能typehint類,接口,數組或可調用

phpdocumentation