SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7)

SimpleXMLIterator::hasChildrenПроверяет, имеет ли текущий элемент вложенные элементы

Описание

public bool SimpleXMLIterator::hasChildren ( void )

Этот метод проверяет, имеет ли текущий элемент SimpleXMLIterator вложенные элементы.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

TRUE если у текущего элемента есть вложенные элементы; в противном случае FALSE

Примеры

Пример #1 Проверяет, имеет ли текущий элемент вложенные элементы

<?php
$xml 
= <<<XML
<books>
    <book>
        <title>Основы PHP</title>
        <author>Джим Смит</author>
    </book>
    <book>Основы XML</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"
  ["author"]=>
  string(9) "Джим Смит"
}

Коментарии

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());
    }
}
?>
2010-02-12 03:01:57
http://php5.kiev.ua/manual/ru/simplexmliterator.haschildren.html

    Поддержать сайт на родительском проекте КГБ