©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.1.0)
SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements.
This method checks whether the current SimpleXMLIterator element has sub-elements.
此函数没有参数。
TRUE
if the current element has sub-elements, otherwise FALSE
Example #1 Check whether the current element has sub-elements
<?php
$xml = <<<XML
<books>
<book>
<title>PHP Basics</title>
<author>Jim Smith</author>
</book>
<book>XML basics</book>
</books>
XML;
$xmlIterator = new SimpleXMLIterator ( $xml );
for( $xmlIterator -> rewind (); $xmlIterator -> valid (); $xmlIterator -> next () ) {
if( $xmlIterator -> hasChildren ()) {
var_dump ( $xmlIterator -> current ());
}
}
?>
以上例程会输出:
object(SimpleXMLIterator)#2 (2) { ["title"]=> string(10) "PHP Basics" ["author"]=> string(9) "Jim Smith" }
[#1] grummfy at gmail dot com [2010-02-12 01:01:57]
Hello,
just a note for people like me who encounter the problems :
<?php
foreach($xmlIterator as $x)
{
if($x->hasChildren())
{
//never reach
echo 'x : ';
var_dump($x->current());
}
if($xmlIterator->hasChildren())
{
echo 'iterator : ';
var_dump($x->current()); //all time null
var_dump($xmlIterator->current());
}
}
?>