3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $fixtureDocumentA = " <root> <nodeOne>value1</nodeOne> <nodeTwo>value2</nodeTwo> <nodeThree>value3</nodeThree> <section> <partOne>value1</partOne> <partTwo>value2</partTwo> <partThree>value3</partThree> </section> <anotherSection> <duplicateNode>unique_value0</duplicateNode> <duplicateNode>unique_value1</duplicateNode> </anotherSection> </root> "; $baseDocument = simplexml_load_string($fixtureDocumentA); print_r($baseDocument); $stuff = $baseDocument->xpath('/root/anotherSection/duplicateNode'); $thing = current($stuff); print_r($stuff); print_r($thing); var_dump($thing); var_dump(empty($thing));
Output for 5.3.4 - 5.3.29, 5.5.27 - 5.5.35, 5.6.11 - 7.1.0
SimpleXMLElement Object ( [nodeOne] => value1 [nodeTwo] => value2 [nodeThree] => value3 [section] => SimpleXMLElement Object ( [partOne] => value1 [partTwo] => value2 [partThree] => value3 ) [anotherSection] => SimpleXMLElement Object ( [duplicateNode] => Array ( [0] => unique_value0 [1] => unique_value1 ) ) ) Array ( [0] => SimpleXMLElement Object ( [0] => unique_value0 ) [1] => SimpleXMLElement Object ( [0] => unique_value1 ) ) SimpleXMLElement Object ( [0] => unique_value0 ) object(SimpleXMLElement)#3 (1) { [0]=> string(13) "unique_value0" } bool(false)
Output for 5.4.0 - 5.5.26, 5.6.7 - 5.6.10
SimpleXMLElement Object ( [nodeOne] => value1 [nodeTwo] => value2 [nodeThree] => value3 [section] => SimpleXMLElement Object ( [partOne] => value1 [partTwo] => value2 [partThree] => value3 ) [anotherSection] => SimpleXMLElement Object ( [duplicateNode] => Array ( [0] => unique_value0 [1] => unique_value1 ) ) ) Array ( [0] => SimpleXMLElement Object ( ) [1] => SimpleXMLElement Object ( ) ) SimpleXMLElement Object ( ) object(SimpleXMLElement)#3 (0) { } bool(true)
Output for 5.2.15 - 5.2.17
SimpleXMLElement Object ( [nodeOne] => value1 [nodeTwo] => value2 [nodeThree] => value3 [section] => SimpleXMLElement Object ( [partOne] => value1 [partTwo] => value2 [partThree] => value3 ) [anotherSection] => SimpleXMLElement Object ( [duplicateNode] => Array ( [0] => unique_value0 [1] => unique_value1 ) ) ) Array ( [0] => SimpleXMLElement Object ( [0] => unique_value0 ) [1] => SimpleXMLElement Object ( [0] => unique_value1 ) ) SimpleXMLElement Object ( [0] => unique_value0 ) object(SimpleXMLElement)#4 (1) { [0]=> string(13) "unique_value0" } bool(false)