- All The SPL iterators are built in classes, so you create an iterator by creating an instance of the class with the new keyword. Many iterators let you set options using class constants. This means the constant is preceded by the class name and the scope resolution operator two colons. For example, this constant sets the option for file system iterator to skip the dot files that represent the current and parent directories. You can set options either at the same time as instantiating the iterator or by using the iterators set flags method.
You can chain iterators to fine tune which elements are selected as you traverse the structure. For example, this uses file system iterator to traverse the current directory. By default, this will include every file. To restrict this to jpegs, you can pass the first iterator as an argument to RegexIterator like this. You can restrict the iterator even further by passing it as an argument to LimitIterator The second argument to LimitIterator specifies the offset at which to begin counting from zero.
The third argument specifies how many elements to traverse. So, the result of this chain is to select the third and fourth jpegs in the current directory, rather like using a limit clause when retrieving records from a database. You can then use a foreach loop to do something with those two files. Although, using a foreach loop makes it feel as though you're working with an array, you're not. Each element inside the loop is an object. This is particularly important to remember when you're traversing the file system.
In the next chapter, you'll see how to work directly on files and access information about them. Usually, there's no need to convert an iterator to an array, but it's easy enough to do so. Just pass the iterator as an argument to the iterator to array function and assign the return value to a variable. So, now you have a general understanding of what SPL iterators are, let's see them at work.
Author
Released
10/22/2014- Using SPL iterators
- Inspecting directories
- Working with text files
- Exporting and extracting data
- Filtering data
- Converting between arrays and iterators
- Combining and merging iterators
- Creating a repeat sequence with InfiniteIterator
- Working with data structures
Skill Level Intermediate
Duration
Views
Related Courses
-
Advanced PHP: Debugging Techniques
with Jon Peck1h 29m Intermediate -
PHP: Exporting Data to Files
with David Powers3h 42m Intermediate
-
Introduction
-
Welcome59s
-
-
1. Introducing the Standard PHP Library (SPL)
-
Introducing SPL iterators1m 59s
-
Using SPL iterators2m 6s
-
2. Exploring Files and Directories
-
3. Filtering Values
-
4. Array Iterators
-
Filtering values from JSON4m 45s
-
5. Combining and Merging Iterators
-
6. Other Iterators
-
7. SPL Data Structures
-
Using SplStack and SplQueue6m 25s
-
Understanding heaps2m 55s
-
Conclusion
-
Goodbye1m 37s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Using SPL iterators