【发布时间】:2015-04-25 11:46:20
【问题描述】:
给定一个空数组$items = array();
为什么要使用下面的代码(我以前见过):
if (count($items) > 0) {
foreach ($items as $item) // do stuff here
}
而不仅仅是
foreach ($items as $item) // do stuff here
如果count($items) === 0 循环不会执行??
【问题讨论】:
-
我认为
foreach在评估不存在的内容时会抛出 NOTICE 或 WARNING 级别的错误,因此它确实适合喜欢保持完全干净的错误日志的程序员。 -
不知道有没有数组的时候才做?
-
并且foreach会在空白数组上执行并给出通知
-
只要 $items 是一个数组,你就不需要做这个计数,除非你还想在 else 上做一些事情,比如显示“无记录”消息或类似的...... . 如果 $items 不是数组或 Travesable 对象,那么您可能需要先检查其数据类型....但是针对空数组的 foreach 不会给出任何通知或警告消息
-
@MarkBaker 感谢您的评论,这将是一个很好的答案:)
标签: php if-statement for-loop