两个例子:
Python
my_list = []
if my_list:
for item in my_list: ...
# or just
for item in my_listPHP
$result = mysqli_query($db, "...");
if (mysqli_num_rows($result)) {
while (mysqli_fetch_array($result)) {}
}
// or just
while(mysqli_fetch_array($result)) {}假设我不知道如果列表或mysql结果为空,会通过提示“您的邮箱中没有字母!”之类的消息来通知用户,这有什么区别吗?例如。
发布于 2012-01-06 08:39:43
我认为在这种情况下,这是一个偏好问题。不过,这样做会更有意义。
if (mysqli_num_rows($result)) {
while (mysqli_fetch_array($result)) {}
}在这种情况下,根据返回的行数,您可以执行其他操作,而不是只检查一次。但同样,这是一个首选,如果你知道你永远不会再检查它,它将使你的代码更干净,以第二种方式来做。
发布于 2012-01-06 08:47:14
对于使用迭代器的foreach样式构造,预先检查没有任何好处,在某些情况下,实际上可能会导致执行两次昂贵的计算。迭代器本身必须检查数据的存在才能完成它们的工作,因此添加额外的检查不会增加任何值。添加这样的检查只会使您的代码更难阅读,所以您应该省略它。
https://stackoverflow.com/questions/8751933
复制相似问题