我刚刚学习了三目运算符,并期望以下代码可以正常工作:
$dbh =new PDO('mysql:blad','user','pass');
(!$dbh) ? throw new Exception('Error connecting to database'); : return $dbh;
但是我收到了以下错误信息:
parse error: syntax error, unexpected T_THROW in...
有正确的语法建议吗?
谢谢
我刚刚学习了三目运算符,并期望以下代码可以正常工作:
$dbh =new PDO('mysql:blad','user','pass');
(!$dbh) ? throw new Exception('Error connecting to database'); : return $dbh;
但是我收到了以下错误信息:
parse error: syntax error, unexpected T_THROW in...
有正确的语法建议吗?
谢谢
expr1 ? expr2 : expr3
。简单来说,表达式是指“任何具有值的东西”。throw …
和return …
不是表达式,而是语句。这意味着它们不能用作三元操作的操作数。throw ...
是一个表达式,因此可以用作三元操作的操作数,而return ...
仍然是一条语句。try {
$dbh = new PDO('mysql:blad','user','pass');
return $dbh;
} catch (PDOException $e) {
throw new Exception('Error connecting to database');
}
(!$dbh) ? throw new Exception('Error connecting to database') : return $dbh;
所以不要在命令中间结束 :)