可以替换
if(!$mail->Send()) {
return false;
} else {
return true;
}
这个?
return (bool)$mail->Send();
无论$ mail-> Send()返回什么(它是三方对象)
是否存在(bool)与感叹号不同的任何类型?
答案 0 :(得分:3)
是的,允许typecasting以下类型:
允许演员阵容:
- (int),(integer) - 强制转换为整数
- (bool),(boolean) - cast to boolean
- (float),(double),(real) - cast to float
- (string) - cast to string
- (数组) - 强制转换为数组
- (object) - 强制转换为对象
- (未设置) - 强制转换为NULL(PHP 5)
否则,也可以使用
return !!$mail->Send();
但是,对于其他未来查看代码的人来说,这并不是很明显。
答案 1 :(得分:1)
是的,你可以,如果它不起作用,你可以这样做:return !!$mail->Send();
。
答案 2 :(得分:1)
你可以简化它:
return $mail->Send() ? true : false;
答案 3 :(得分:1)
是的,您的替换工作正常......
return (boolean)$mail->Send();
if语句以非常奇怪的方式编写,!
标记是逻辑NOT
,只是反转bool,所以它说...
如果$mail->Send()
NOT
为真,则返回false
,否则返回true
。
答案 4 :(得分:0)
只要Send()函数的返回类型是布尔类型,您就可以使用它:
return $mail->Send();