Tuesday, November 19, 2024
Google search engine
HomeLanguagesPHP | SimpleXMLElement count() Function

PHP | SimpleXMLElement count() Function

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>neveropen for neveropen</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>neveropen for neveropen</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

RELATED ARTICLES

Most Popular

Recent Comments