PHP Doku:: Checks whether the current element has sub elements. - simplexmliterator.haschildren.html

Verlauf / Chronik / History: (7) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige GrunderweiterungenStandard PHP Library (SPL)IteratorenThe SimpleXMLIterator classSimpleXMLIterator::hasChildren

Ein Service von Reinhard Neidl - Webprogrammierung.

The SimpleXMLIterator class

<<SimpleXMLIterator::getChildren

SimpleXMLIterator::key>>

SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.0)

SimpleXMLIterator::hasChildrenChecks whether the current element has sub elements.

Beschreibung

bool SimpleXMLIterator::hasChildren ( void )

This method checks whether the current SimpleXMLIterator element has sub-elements.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

TRUE if the current element has sub-elements, otherwise FALSE

Beispiele

Beispiel #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());
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(SimpleXMLIterator)#2 (2) {
  ["title"]=>
  string(10) "PHP Basics"
  ["author"]=>
  string(9) "Jim Smith"
}


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
grummfy at gmail dot com
12.02.2010 10:01
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());
    }
}
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)