<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.other.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'book.spl.php',
    1 => 'SPL',
    2 => 'Standard PHP Library (SPL)',
  ),
  'up' => 
  array (
    0 => 'refs.basic.other.php',
    1 => 'Other Basic Extensions',
  ),
  'prev' => 
  array (
    0 => 'seaslog.warning.php',
    1 => 'SeasLog::warning',
  ),
  'next' => 
  array (
    0 => 'spl.interfaces.php',
    1 => 'Interfaces',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/spl/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.spl.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.spl" class="book">
 
 <h1 class="title">Standard PHP Library (SPL)</h1>
 

 <div id="intro.spl" class="preface">
  <h1 class="title">Introduction</h1>
  <p class="simpara">
   The Standard PHP Library (SPL) extension defines interfaces and classes
   that are meant to solve common problems.
  </p>
  <p class="simpara">
   The extension provides various datastructures, generic exceptions,
   iterators, classes to work with filesystems using an object
   oriented <abbr title="Application Programming Interface">API</abbr>, and utility functions.
  </p>
 </div>

 




 




 




 




 





 







<ul class="chunklist chunklist_book"><li><a href="spl.interfaces.php">Interfaces</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="class.outeriterator.php">OuterIterator</a> — The OuterIterator interface</li><li><a href="class.recursiveiterator.php">RecursiveIterator</a> — The RecursiveIterator interface</li><li><a href="class.seekableiterator.php">SeekableIterator</a> — The SeekableIterator interface</li><li><a href="class.splobserver.php">SplObserver</a> — The SplObserver interface</li><li><a href="class.splsubject.php">SplSubject</a> — The SplSubject interface</li></ul></li><li><a href="spl.datastructures.php">Datastructures</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="class.spldoublylinkedlist.php">SplDoublyLinkedList</a> — The SplDoublyLinkedList class</li><li><a href="class.splstack.php">SplStack</a> — The SplStack class</li><li><a href="class.splqueue.php">SplQueue</a> — The SplQueue class</li><li><a href="class.splheap.php">SplHeap</a> — The SplHeap class</li><li><a href="class.splmaxheap.php">SplMaxHeap</a> — The SplMaxHeap class</li><li><a href="class.splminheap.php">SplMinHeap</a> — The SplMinHeap class</li><li><a href="class.splpriorityqueue.php">SplPriorityQueue</a> — The SplPriorityQueue class</li><li><a href="class.splfixedarray.php">SplFixedArray</a> — The SplFixedArray class</li><li><a href="class.arrayobject.php">ArrayObject</a> — The ArrayObject class</li><li><a href="class.splobjectstorage.php">SplObjectStorage</a> — The SplObjectStorage class</li></ul></li><li><a href="spl.exceptions.php">Exceptions</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="class.badfunctioncallexception.php">BadFunctionCallException</a> — The BadFunctionCallException class</li><li><a href="class.badmethodcallexception.php">BadMethodCallException</a> — The BadMethodCallException class</li><li><a href="class.domainexception.php">DomainException</a> — The DomainException class</li><li><a href="class.invalidargumentexception.php">InvalidArgumentException</a> — The InvalidArgumentException class</li><li><a href="class.lengthexception.php">LengthException</a> — The LengthException class</li><li><a href="class.logicexception.php">LogicException</a> — The LogicException class</li><li><a href="class.outofboundsexception.php">OutOfBoundsException</a> — The OutOfBoundsException class</li><li><a href="class.outofrangeexception.php">OutOfRangeException</a> — The OutOfRangeException class</li><li><a href="class.overflowexception.php">OverflowException</a> — The OverflowException class</li><li><a href="class.rangeexception.php">RangeException</a> — The RangeException class</li><li><a href="class.runtimeexception.php">RuntimeException</a> — The RuntimeException class</li><li><a href="class.underflowexception.php">UnderflowException</a> — The UnderflowException class</li><li><a href="class.unexpectedvalueexception.php">UnexpectedValueException</a> — The UnexpectedValueException class</li></ul></li><li><a href="spl.iterators.php">Iterators</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="class.appenditerator.php">AppendIterator</a> — The AppendIterator class</li><li><a href="class.arrayiterator.php">ArrayIterator</a> — The ArrayIterator class</li><li><a href="class.cachingiterator.php">CachingIterator</a> — The CachingIterator class</li><li><a href="class.callbackfilteriterator.php">CallbackFilterIterator</a> — The CallbackFilterIterator class</li><li><a href="class.directoryiterator.php">DirectoryIterator</a> — The DirectoryIterator class</li><li><a href="class.emptyiterator.php">EmptyIterator</a> — The EmptyIterator class</li><li><a href="class.filesystemiterator.php">FilesystemIterator</a> — The FilesystemIterator class</li><li><a href="class.filteriterator.php">FilterIterator</a> — The FilterIterator class</li><li><a href="class.globiterator.php">GlobIterator</a> — The GlobIterator class</li><li><a href="class.infiniteiterator.php">InfiniteIterator</a> — The InfiniteIterator class</li><li><a href="class.iteratoriterator.php">IteratorIterator</a> — The IteratorIterator class</li><li><a href="class.limititerator.php">LimitIterator</a> — The LimitIterator class</li><li><a href="class.multipleiterator.php">MultipleIterator</a> — The MultipleIterator class</li><li><a href="class.norewinditerator.php">NoRewindIterator</a> — The NoRewindIterator class</li><li><a href="class.parentiterator.php">ParentIterator</a> — The ParentIterator class</li><li><a href="class.recursivearrayiterator.php">RecursiveArrayIterator</a> — The RecursiveArrayIterator class</li><li><a href="class.recursivecachingiterator.php">RecursiveCachingIterator</a> — The RecursiveCachingIterator class</li><li><a href="class.recursivecallbackfilteriterator.php">RecursiveCallbackFilterIterator</a> — The RecursiveCallbackFilterIterator class</li><li><a href="class.recursivedirectoryiterator.php">RecursiveDirectoryIterator</a> — The RecursiveDirectoryIterator class</li><li><a href="class.recursivefilteriterator.php">RecursiveFilterIterator</a> — The RecursiveFilterIterator class</li><li><a href="class.recursiveiteratoriterator.php">RecursiveIteratorIterator</a> — The RecursiveIteratorIterator class</li><li><a href="class.recursiveregexiterator.php">RecursiveRegexIterator</a> — The RecursiveRegexIterator class</li><li><a href="class.recursivetreeiterator.php">RecursiveTreeIterator</a> — The RecursiveTreeIterator class</li><li><a href="class.regexiterator.php">RegexIterator</a> — The RegexIterator class</li></ul></li><li><a href="spl.files.php">File Handling</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="class.splfileinfo.php">SplFileInfo</a> — The SplFileInfo class</li><li><a href="class.splfileobject.php">SplFileObject</a> — The SplFileObject class</li><li><a href="class.spltempfileobject.php">SplTempFileObject</a> — The SplTempFileObject class</li></ul></li><li><a href="ref.spl.php">SPL Functions</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.class-implements.php">class_implements</a> — Return the interfaces which are implemented by the given class or interface</li><li><a href="function.class-parents.php">class_parents</a> — Return the parent classes of the given class</li><li><a href="function.class-uses.php">class_uses</a> — Return the traits used by the given class</li><li><a href="function.iterator-apply.php">iterator_apply</a> — Call a function for every element in an iterator</li><li><a href="function.iterator-count.php">iterator_count</a> — Count the elements in an iterator</li><li><a href="function.iterator-to-array.php">iterator_to_array</a> — Copy the iterator into an array</li><li><a href="function.spl-autoload.php">spl_autoload</a> — Default implementation for __autoload()</li><li><a href="function.spl-autoload-call.php">spl_autoload_call</a> — Try all registered __autoload() functions to load the requested class</li><li><a href="function.spl-autoload-extensions.php">spl_autoload_extensions</a> — Register and return default file extensions for spl_autoload</li><li><a href="function.spl-autoload-functions.php">spl_autoload_functions</a> — Return all registered __autoload() functions</li><li><a href="function.spl-autoload-register.php">spl_autoload_register</a> — Register given function as __autoload() implementation</li><li><a href="function.spl-autoload-unregister.php">spl_autoload_unregister</a> — Unregister given function as __autoload() implementation</li><li><a href="function.spl-classes.php">spl_classes</a> — Return available SPL classes</li><li><a href="function.spl-object-hash.php">spl_object_hash</a> — Return hash id for given object</li><li><a href="function.spl-object-id.php">spl_object_id</a> — Return the integer object handle for given object</li></ul></li></ul></div><?php manual_footer($setup); ?>