The SimpleXMLIterator::valid() function is an inbuilt function in PHP which is used to check the current element is valid or not.
Syntax:
php
php
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>GeeksforGeeks</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());
?>
Output:
Program 2:
bool(true) bool(false)
<?php
// Store the xml element to variable
$xml = <<<XML
<organization>
<name>GeeksforGeeks</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());
}
?>
Output:
Reference: https://www.php.net/manual/en/simplexmlelement.validstring(4) "name" string(7) "address" string(7) "contact"