【发布时间】:2011-10-01 16:11:01
【问题描述】:
如果对象 LimitIterator 为空,我如何编写不运行下面的foreach 的条件?
$numbers = array(5, 19, 8, 35, 50);
$iterator = new ArrayIterator($numbers);
$limiter = new LimitIterator($iterator, 5, 2);
foreach($limiter as $number)
{
echo $number.'<br/>';
}
上面的代码返回这个错误,
Fatal error: Uncaught exception 'OutOfBoundsException' with message 'Seek position 5 is out of range' in ..
OutOfBoundsException: Seek position 5 is out of range in..
如果对象 LimitIterator 为空,我只是不想运行 foreach。
编辑:
为什么$limiter->valid(); 总是返回false?我在我的网站上的page 上运行了以下代码,
$numbers = array(5, 19, 8, 35, 50);
$iterator = new ArrayIterator($numbers);
$limiter = new LimitIterator($iterator, 0, 2);
var_dump($limiter->valid());
if ($limiter->valid())
{
foreach($limiter as $number)
{
echo $number.'<br/>';
}
}
【问题讨论】:
-
请停止写标签,谢谢.. 我看到你已经为你的 184 个问题做了大部分,如果不是全部的话;(
-
这里的规则是不感谢吗??
-
是的。 SO 不是论坛或聊天,而是知识资源;您在问题中看到的唯一内容应该是问题。非常感谢通过投票和回答问题回馈社区。您不会在字典中看到“谢谢”。