パブリック関数 __construct() {
$this->position = 0;
}
function rewind() {
var_dump(__METHOD__);
$this->position = 0;
}
function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}
function key() {
var_dump(__METHOD__);
return $this->position;
}
function next() {
var_dump(__METHOD__);
++$this->position;
}
function valid() {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}
$it = 新しい myIterator;
foreach($it as $key => $value) {
echo '输出键值:';
var_dump($key, $value);
//echo $key;
echo "n";
}
string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
输出键值:int (1)
文字列(14) "第二要素"
string(16) "myIterator::next"
string(17) "myIterator::valid"
string(19) "myIterator::current"
string(15) "myIterator::key"
输出键值:int (2)
文字列(12) "last_element"
string(16) "myIterator::next"
string(17) "myIterator::valid"
publicパブリック関数Rewind(){echo "最初の要素n"を巻き戻します
F Pualic 関数は () {
$ var = Current ($ this- & gt; var);
echo "current element: $ varn";
Return $ var;
「 through ’s’ ’ through‐‐‐‐ ‐‐‐‐‐ ‐ }
‐ ‐ ‐ public function key() {
アウト アウト スルー アウト スルー スルー オフ‐ ‐‐‐‐‐‐ ‐ ‐ ‐ ‐ ‐
F Pualic 関数 value () {
echo "チェック: {$ var} n";
$values = array(1,2,3);
$it = 新しい MyIterator($values);
(Foreach ($ it as $ k = & gt; $ v) {
コードは次のとおりです:
最初の要素を巻き戻す
現在の要素: 1
現在の要素: 1
現在の要素のキー: 0
現時点でのキーと値のペア -- キー 0: 値 1
次の要素に移動: 2
有効性のチェック: 1
現在の要素: 2
現在の要素のキー: 1
この時点のキーと値のペア -- キー 1: 値 2
現在の要素: 3
有効性のチェック: 1
現在の要素: 3
現在の要素のキー: 2
この時点のキーと値のペア -- キー 2: 値 3
現在の要素:
妥当性のチェック:
もうクリアされましたか?