首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环数组/列表之前,我是否需要检查数组/列表中是否有元素?

问在循环数组/列表之前,我是否需要检查数组/列表中是否有元素?
EN

Stack Overflow用户
提问于 2012-01-06 08:34:06
回答 2查看 28关注 0票数 0

两个例子:

Python

代码语言:javascript
复制
my_list = []
if my_list:
    for item in my_list: ...
# or just
for item in my_list

PHP

代码语言:javascript
复制
$result = mysqli_query($db, "...");
if (mysqli_num_rows($result)) {
    while (mysqli_fetch_array($result)) {}
}
// or just
while(mysqli_fetch_array($result)) {}

假设我不知道如果列表或mysql结果为空,会通过提示“您的邮箱中没有字母!”之类的消息来通知用户,这有什么区别吗?例如。

EN

回答 2

Stack Overflow用户

发布于 2012-01-06 08:39:43

我认为在这种情况下,这是一个偏好问题。不过,这样做会更有意义。

代码语言:javascript
复制
if (mysqli_num_rows($result)) {
while (mysqli_fetch_array($result)) {}
}

在这种情况下,根据返回的行数,您可以执行其他操作,而不是只检查一次。但同样,这是一个首选,如果你知道你永远不会再检查它,它将使你的代码更干净,以第二种方式来做。

票数 0
EN

Stack Overflow用户

发布于 2012-01-06 08:47:14

对于使用迭代器的foreach样式构造,预先检查没有任何好处,在某些情况下,实际上可能会导致执行两次昂贵的计算。迭代器本身必须检查数据的存在才能完成它们的工作,因此添加额外的检查不会增加任何值。添加这样的检查只会使您的代码更难阅读,所以您应该省略它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8751933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档