Pre-requisite: Read XML Basics
The SimpleXMLElement::count() function is an inbuilt function in PHP which counts number of child element in a SimpleXML object.
Syntax:
int SimpleXMLElement::count()
Parameter: This function does not accept any parameters.
Return Value: This function returns number of children of an element.
Note: This function is available for PHP 5.3.0 and newer version.
Example 1:
<?php // Loading XML document to $user $user = <<<XML
<user> <username> user123 </username> <name> firstname lastname </name> <phone> +91-9876543210 </phone> <detail> I am John Doe. Live in Kolkata, India. </detail> </user> XML; // Creating new SimpleXMLElement // object from $user $xml = new SimpleXMLElement( $user );
// Counting and printing number of // child of the XML document echo $xml -> count ();
?> |
Output:
4
Example 2: Counting children of child element of the XML document.
<?php // Loading XML document to $user $user = <<<XML
<users> <user name= "user1" >
<username> user123 </username>
<name> firstname lastname </name>
<phone> +91-9876543210 </phone>
<detail> I am John Doe. Live in Kolkata, India. </detail>
<ins>
<ins_name>geeks for geeks</ins_name>
<ins_type>educational</ins_type>
<ins_url>geeksforgeeks.org</ins_url>
</ins>
</user>
<user name= "user2" >
<username> user123 </username>
<name> firstname lastname </name>
<phone> +91-9876543210 </phone>
<detail> I am John Doe. Live in Kolkata, India. </detail>
<ins>
<ins_name>geeks for geeks</ins_name>
<ins_type>educational</ins_type>
<ins_url>geeksforgeeks.org</ins_url>
</ins>
</user>
</users> XML; // Creating new SimpleXMLElement // object from $user $xml = new SimpleXMLElement( $user );
echo $xml -> count ();
foreach ( $xml as $child ){
echo "<br>" . $child [ 'name' ] . " has " . $child -> count (). " child." ;
} ?> |
Output:
2 user1 has 5 child. user2 has 5 child.
Reference: https://www.php.net/manual/en/simplexmlelement.count.php