PHP Doku:: Counts the children of an element - simplexmlelement.count.html

Verlauf / Chronik / History: (6) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzXML-ManipulationSimpleXMLThe SimpleXMLElement classSimpleXMLElement::count

Ein Service von Reinhard Neidl - Webprogrammierung.

The SimpleXMLElement class

<<SimpleXMLElement::__construct

SimpleXMLElement::getDocNamespaces>>

SimpleXMLElement::count

(PHP 5 >= 5.3.0)

SimpleXMLElement::countCounts the children of an element

Beschreibung

public integer SimpleXMLElement::count ( void )

This method counts the number of children of an element.

Rückgabewerte

Returns the number of elements of an element.

Beispiele

Beispiel #1 Counting the number of children

<?php
$xml 
= <<<EOF
<people>
 <person name="Person 1">
  <child/>
  <child/>
  <child/>
 </person>
 <person name="Person 2">
  <child/>
  <child/>
  <child/>
  <child/>
  <child/>
 </person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach (
$elem as $person) {
    
printf("%s has got %d children.\n"$person['name'], $person->count());
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Person 1 has got 3 children.
Person 2 has got 5 children.

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
Jimmy New Tron
16.06.2010 5:17
I used the DOMNodeList $length property to simulate this function since my host had not yet implemented PHP 5.3.  The following code makes it portable and allows you to prepare for an upgrade path.

<?php
$url
= "http://www.example.com/foo.xml";
$xml = simplexml_load_file($url);
// For debugging
// echo "<p>".phpversion()."</p>";
if(phpversion() >= '5.3.0'){
   
$bar_count = $xml->foo->bar->count();
    }
else    {
   
$doc = new DOMDocument();
   
$str = $xml->asXML();
   
$doc->loadXML($str);
   
$bar_count = $doc->getElementsByTagName("bar")->length;
    }
echo
"There are ".$bar_count." \"bar\" nodes in this document.<br />";
?>



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",...)