1. Ini juga merupakan iterator itu sendiri. Ketika dipakai, ia perlu diteruskan ke iterator lain untuk penyimpanan internal, yaitu iterasi internal InnerIterator.
2. Fungsi iterator asli dapat ditingkatkan dengan mewarisi IteratorIterator.
Parameter konstruksinya juga harus berupa iterator, dan tanda tangan parameter itu sendiri memerlukan objek yang mengimplementasikan antarmuka Traversable.
Contoh
kelas OutIterator memperluas IteratorIterator { fungsi publik mundur() { gema __METHOD__, PHP_EOL; return parent::rewind(); } fungsi publik valid() { gema __METHOD__, PHP_EOL; kembalikan orang tua::valid(); } fungsi publik saat ini() { gema __METHOD__, PHP_EOL; kembalikan induk::saat ini() '_suffix'; } tombol fungsi publik() { gema __METHOD__, PHP_EOL; kembalikan orang tua::kunci(); } fungsi publik selanjutnya() { gema __METHOD__, PHP_EOL; kembalikan induk::berikutnya(); } fungsi publik getInnerIterator() { gema __METHOD__, PHP_EOL; kembalikan induk::getInnerIterator(); } } $iterator = OutIterator baru(ArrayIterator baru([1, 2, 3])); foreach ($iterator sebagai $k => $v) { gema $k, ':', $v, PHP_EOL; } // OutIterator::mundur // OutIterator::valid // OutIterator::saat ini // OutIterator::kunci // 0: 1_akhiran // OutIterator::berikutnya // OutIterator::valid // OutIterator::saat ini // OutIterator::kunci // 1: 2_akhiran // OutIterator::berikutnya // OutIterator::valid // OutIterator::saat ini // OutIterator::kunci // 2: 3_akhiran // OutIterator::berikutnya // OutIterator::valid
Di atas adalah pengertian iterator package PHP, semoga bermanfaat bagi semuanya. Panduan pembelajaran PHP lainnya: jaringan kode sumber