首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果数组为空,则跳过foreach的最简洁方法

如果数组为空,则跳过foreach的最简洁方法
EN

Stack Overflow用户
提问于 2010-08-10 14:23:41
回答 8查看 158.3K关注 0票数 130

这不是一个大问题,但我想知道是否有更干净的方法来做到这一点。最好避免使用不必要的if语句嵌套我的代码。如果$items为空,php会抛出一个错误。

代码语言:javascript
复制
$items = array('a','b','c');

if(!empty($items)) { // <-Remove this if statement
  foreach($items as $item) {
    print $item;
  }
}

我可能只使用'@‘错误抑制器,但那会有点老生常谈。

EN

回答 8

Stack Overflow用户

发布于 2010-08-10 14:28:36

代码语言:javascript
复制
$items = array('a','b','c');

if(is_array($items)) {
  foreach($items as $item) {
    print $item;
  }
}
票数 28
EN

Stack Overflow用户

发布于 2010-08-10 14:25:57

我不建议取消警告输出。但是,我建议使用is_array而不是!empty。如果$items恰好是一个非零标量,那么如果您使用!emptyforeach仍然会出错。

票数 16
EN

Stack Overflow用户

发布于 2010-08-10 15:20:59

我认为这里最好的方法是规划您的代码,使$items始终是一个数组。最简单的解决方案是在代码顶部使用$items=array()对其进行初始化。这样,即使你没有给它赋值,它也会表示空数组。

对我来说,所有其他的解决方案都是非常肮脏的技巧。

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

https://stackoverflow.com/questions/3446538

复制
相关文章

相似问题

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