【发布时间】:2012-07-09 22:03:16
【问题描述】:
一个简单的问题可以消除对大量if/else 语句的需求。
例如,如果我有这样的查询:
if ($success1=$db->query('SELECT * FROM `foo`;') || $success2=$db->query('SELECT * FROM `bar`;')) {
...
}
第一次查询成功与否时会停止检查吗?
【问题讨论】:
-
当你用 2 个已知值尝试它时发生了什么?
-
是的,如果第一个查询返回可以评估为
true的内容,它将停止 -
你意识到每个查询的成功意味着运行没有错误,而不是它是否真的返回数据......但是像这样执行数据库查询并不是一个好的做法
-
我支持@MarkBaker:这有很多问题。您的示例代码未通过几个“最佳实践”测试。您也许可以使代码更短,但您也会降低代码质量。
$shorter !== $better.
标签: php if-statement