Some AWS operations return truncated results that require subsequent requests in order to retrieve the entire result
set. The subsequent requests typically require pagination tokens or markers from the previous request in order to
retrieve the next set of results. Working with these tokens can be cumbersome, since you must manually keep track of
them, and the API for each service may differ in how it uses them.

The AWS SDK for PHP has a feature called **iterators** that allow you to retrieve an *entire* result set without
manually handling pagination tokens or markers. The iterators in the SDK implement PHP's ``Iterator`` interface, which
allows you to easily enumerate or iterate through resources from a result set with ``foreach``.

You can find a list of the iterators supported by a client by viewing the docblock of a client. Any ``@method`` tag that
has a name that looks like "``get[…]Iterator``" will return an iterator. For example, the following code uses the
``getListObjectsIterator()`` method of the S3 client object to create an iterator for objects in a bucket.

.. code-block:: php

    $iterator = $client->getListObjectsIterator(array('Bucket' => 'my-bucket'));

    foreach ($iterator as $object) {
        echo $object['Key'] . "\n";
    }
