Entering rst (stack is now: third -> second -> rst)
Exiting
Exiting
Entering rst (stack is now: third -> rst)
Exiting
Exiting
实现迭代器接口
使用
foreach
结构,不仅可以遍历数组,还可以遍历继承了
Iterator
(迭代器)接口的
类的实例(可在第
6
章查阅对象和接口的详细信息)。为了实现
Iterator
接口,你必须
在你的类中实现以下
5
个方法。
current()
返回迭代器当前所指向的元素。
key()
目前由迭代器指向的元素的键。
next()
将迭代器移动到对象中的下一个元素并返回。
rewind()
将迭代器移动到数组中的第一个元素。
valid()
如果迭代器指向一个合法的元素,则返回
true
,否则返回
false
。
示例
5-5
重新实现了一个简单的迭代器类,它包含一个带有数据的静态数组。
示例5-5:迭代器接口
class BasicArray implements Iterator
{
private $position = 0;
private $array = ["first", "second", ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.