SimpleXMLIterator::hasChildren
(PHP 5, PHP 7, PHP 8)
SimpleXMLIterator::hasChildren — Checks whether the current element has sub elements
说明
public SimpleXMLIterator::hasChildren(): bool
This method checks whether the current SimpleXMLIterator element has sub-elements.
参数
此函数没有参数。
返回值
true
if the current element has sub-elements, otherwise false
范例
示例 #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" }

User Contributed Notes 1 note
grummfy at gmail dot com ¶
12 years ago
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());
}
}
?>
备份地址:http://www.lvesu.com/blog/php/simplexmliterator.haschildren.php