foreach
オブジェクト LimitIterator が空の場合、以下を実行しない条件をどのように記述できますか?
$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..
foreach
オブジェクト LimitIterator が空の場合に実行したくないだけです。
編集:
$limiter->valid();
が常に を返すのはなぜfalse
ですか? 私は自分のサイトのページで以下のコードを実行しています。
$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/>';
}
}