PHP Conference Japan 2024

InfiniteIterator 類別

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

簡介

InfiniteIterator 類別允許使用者無限迭代一個迭代器,而無需在到達迭代器末端時手動倒回。

類別概要

class InfiniteIterator extends IteratorIterator {
/* 方法 */
public __construct(Iterator $iterator)
公開 next(): void
/* 繼承的方法 */
}

目錄

新增筆記

使用者貢獻的筆記 2 則筆記

匿名
12 年前
要循環物件鍵並重置到開頭,請嘗試以下程式碼
<?php

$obj
= new stdClass();
$obj->Mon = "星期一";
$obj->Tue = "星期二";
$obj->Wed = "星期三";
$obj->Thu = "星期四";
$obj->Fri = "星期五";
$obj->Sat = "星期六";
$obj->Sun = "星期日";

$infinate = new InfiniteIterator(new ArrayIterator($obj));
foreach ( new
LimitIterator($infinate, 0, 14) as $value ) {
print(
$value . PHP_EOL);
}

?>

將輸出

星期一
星期二
星期三
星期四
星期五
星期六
星期日
星期一
星期二
星期三
星期四
星期五
星期六
星期日

在進行日期運算或循環事件時很有用
vascowhite at gmail dot com
11 年前
重要的是要意識到,在使用任何迭代器之前必須先呼叫 rewind(),否則可能會遇到未定義的行為,請參閱此處的範例程式碼和輸出 http://3v4l.org/rvNpU

有關更完整的說明,請參閱此錯誤報告 https://bugs.php.net/bug.php?id=63823&edit=2
To Top