News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

PHPMaster.com:
Using SPL Iterators, Part 2
May 22, 2012 @ 08:23:17

On PHPMaster.com today they've posted the second part of the series covering the Iterators that come with PHP as a part of the SPL.

In part one of this series I introduced you to some of the SPL Iterators and how to use them. There may be times however when the provided iterators are insufficient for your needs and you'll want to roll your own custom iterator. Luckily, SPL provides interfaces that will allow you to do just that. For an object to be traversable in a foreach loop, PHP requires that it be an instance of Traversable. You cannot however implement this interface directly (though you can use it in instaceof checks); instead you'll need to implement either SPL's Iterator or IteratorAggregate interfaces.

He shows you how to implement these two interfaces in your own custom classes, looping through a set of books for the Iterator example and a "getIterator" method that creates an ArrayIterator when executed. The results of both are used in foreach loops showing how they can be used just like any other iteratable variables.

0 comments voice your opinion now!
spl iterators tutorial array iterator iteratoraggregate foreach


blog comments powered by Disqus

Similar Posts

Stefan Mischook's Blog: Creating Custom PHP Functions Video Tutorial - Part 3

DevShed: Building Loader Apps in PHP

Chronosight Blog: Inline AJAX Calendar using PHP

MSBWare.com: Integrating FCKeditor With Your MySQL Database

Maarten Balliauw's Blog: LINQ for PHP (Language Integrated Query for PHP)


Community Events





Don't see your event here?
Let us know!


conference voicesoftheelephpant community version series opinion introduction artisanfiles library interview composer tool security laravel language release list podcast framework symfony

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework