Symfony 7 – PHP – SPL (Standard PHP Library)

20 multiple-choice questions about SPL: iterators, data structures, filesystem tools, and observer utilities with small code examples.


Question 1: Which interfaces make an object usable in foreach?

Question 2: Difference between Iterator and IteratorAggregate?

Question 3: What does Countable guarantee?

Question 4: What does implementing ArrayAccess allow?

Question 5: SplDoublyLinkedList can behave as a queue or a stack. How?

Question 6: What do SplStack and SplQueue provide over SplDoublyLinkedList?

Question 7: How do you change what SplPriorityQueue->extract() returns?

Question 8: To create a max-heap with SplHeap, what must you do?

Question 9: What is SplObjectStorage commonly used for?

Question 10: When should you use RecursiveDirectoryIterator instead of DirectoryIterator?

Question 11: Why choose FilesystemIterator over DirectoryIterator?

Question 12: How do you filter an iterator using a regex?

Question 13: What does LimitIterator help you do?

Question 14: What does CachingIterator add on top of an inner iterator?

Question 15: How does SplFixedArray differ from a normal PHP array?

Question 16: Which SPL class reads files line-by-line with foreach?

Question 17: When is SplTempFileObject useful?

Question 18: How do you traverse files recursively with SPL iterators?

Question 19: What do SplObserver and SplSubject provide?

Question 20: Which is recommended for custom serialization in modern PHP?