The SimpleXMLIterator::valid() function is an inbuilt function in PHP which is used to check the current element is valid or not.
Syntax:
bool SimpleXMLIterator::valid( void )
Parameters: This function does not accept any parameters.
Return Value: This function returns TRUE if the current element is valid, or FALSE on failure.
Below programs illustrate the SimpleXMLIterator::valid() function in PHP:
Program 1:
<?php   // Store the xml element to variable $xml = <<<XML     <organization>         <name>neveropen</name>         <address>Noida India</address>         <contact>             <email>abc@geeksforgeeks.org</email>             <mobile>+91-987654321</mobile>         </contact>     </organization> XML;   $xmlIt = new SimpleXMLIterator( $xml );   // Use rewind() function to rewind // to the first element $xmlIt -> rewind ();   // Display the result var_dump( $xmlIt ->valid());   // Use next() function to move // the next element $xmlIt ->next(); $xmlIt ->next(); $xmlIt ->next();   // Display the result var_dump( $xmlIt ->valid());   ?> |
bool(true) bool(false)
Program 2:
<?php   // Store the xml element to variable $xml = <<<XML     <organization>         <name>neveropen</name>         <address>Noida India</address>         <contact>             <email>abc@geeksforgeeks.org</email>             <mobile>+91-987654321</mobile>         </contact>     </organization> XML;   $xmlIt = new SimpleXMLIterator( $xml );   // Loop starts from first element of xml and // run upto when elements are not valid for ( $xmlIt -> rewind (); $xmlIt ->valid(); $xmlIt ->next() ) {           var_dump( $xmlIt ->key()); }   ?> |
string(4) "name" string(7) "address" string(7) "contact"
Reference: https://www.php.net/manual/en/simplexmliterator.valid.php