SimpleXMLElement::count
(PHP 5 >= 5.3.0)
SimpleXMLElement::count — Counts the children of an element
Descrição
public int SimpleXMLElement::count ( void )
This method counts the number of children of an element.
Valor Retornado
Returns the number of elements of an element.
Exemplos
Exemplo #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());
}
?>
O exemplo acima irá imprimir:
Person 1 has got 3 children. Person 2 has got 5 children.
Veja Também
- SimpleXMLElement::children() - Finds children of given node
User Contributed Notes
daniel dot erni at focusedpublishing dot com 22-Mar-2011 04:37
Alternative code for PHP < 5.3:
<?php
$count = $node->count(); // PHP > 5.3
$count = count($node->children()); // PHP < 5.3
?>
Jimmy New Tron 16-Jun-2010 03: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 />";
?>