(PHP 5 >= 5.1.0)
RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object.
Returns whether current entry is an array or an object for which an iterator can be obtained via RecursiveArrayIterator::getChildren().
This function has no parameters.
   Returns TRUE if the current entry is an array or an object,
   otherwise FALSE is returned.
  
Example #1 RecursiveArrayIterator::hasChildren() example
<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));
$iterator = new RecursiveArrayIterator($fruits);
while ($iterator->valid()) {
    // Check if there are children
    if ($iterator->hasChildren()) {
        // print all children
        foreach ($iterator->getChildren() as $key => $value) {
            echo $key . ' : ' . $value . "\n";
        }
    } else {
        echo "No children.\n";
    }
    $iterator->next();
}
?>
The above example will output:
No children. No children. a : apple p : pear