迭代器作为一种设计模式的意义非常大。但是迭代器要解决的问题是 通过相同的接口 遍历访问不同的 数据结构,而调用者不需要关心到底 数据结构是 list 还是array 或者是hashtable.
当然这在php里面就扯了,因为php里面的array无所不能. 也没有 list 这样的结构(array都包括了)。
所以在php里面问这个问题,感觉价值不大... foreach就很好...
要说区别,性能上直接foreach 数组会更快.
迭代器作为一种设计模式的意义非常大。但是迭代器要解决的问题是 通过相同的接口 遍历访问不同的 数据结构,而调用者不需要关心到底 数据结构是 list 还是array 或者是hashtable.
当然这在php里面就扯了,因为php里面的array无所不能. 也没有 list 这样的结构(array都包括了)。
所以在php里面问这个问题,感觉价值不大... foreach就很好...
要说区别,性能上直接foreach 数组会更快.