2014-12-02 83 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