3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $xmlStr = <<<XML <?xml version='1.0' standalone='yes'?> <movies> <movie> <title>PHP: Behind the Parser</title> <characters> <character> <name>Ms. Coder</name> <actor>Onlivia Actora</actor> </character> <character> <name>Mr. Coder</name> <actor>El Act&#211;r</actor> </character> </characters> <plot> So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. </plot> <great-lines> <line>PHP solves all my web problems</line> </great-lines> <rating type="thumbs">7</rating> <rating type="stars">5</rating> </movie> <movie> <title>Title</title> <characters> <character> <name>Ms. Smith</name> <actor>Jane Doe</actor> </character> <character> <name>Mr. Smith</name> <actor>John Doe</actor> </character> </characters> <plot> There is no plot. </plot> <great-lines> <line>Yes?</line> <line>No!</line> </great-lines> <rating type="thumbs">3</rating> <rating type="stars">2</rating> </movie> </movies> XML; $xml = simplexml_load_string($xmlStr); echo '$xml:', "\n"; var_dump($xml); echo "\n"; echo '$xml->movies:', "\n"; var_dump($xml->movies); echo "\n"; echo '$xml->movies->movie:', "\n"; var_dump($xml->movies->movie); echo "\n"; echo '$xml->movies->movie[0]:', "\n"; var_dump($xml->movies->movie[0]); echo "\n"; echo 'iterator_to_array($xml->movies->movie):', "\n"; var_dump(iterator_to_array($xml->movies->movie)); echo "\n"; echo 'iterator_to_array($xml->movies):', "\n"; var_dump(iterator_to_array($xml->movies)); echo "\n";
Output for 7.0.0 - 7.1.0
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#5 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#4 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#3 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Fatal error: Uncaught TypeError: Argument 1 passed to iterator_to_array() must implement interface Traversable, null given in /in/LL8qr:72 Stack trace: #0 /in/LL8qr(72): iterator_to_array(NULL) #1 {main} thrown in /in/LL8qr on line 72
Process exited with code 255.
Output for 5.3.0 - 5.6.28
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#5 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#4 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#3 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, null given in /in/LL8qr on line 72
Process exited with code 255.
Output for 5.2.0 - 5.2.17
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#8 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#10 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#11 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#9 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#12 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, null given in /in/LL8qr on line 72
Process exited with code 255.
Output for 5.1.0 - 5.1.1, 5.1.3 - 5.1.6
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#8 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#10 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#11 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#9 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#12 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Warning: iterator_to_array() expects parameter 1 to be Traversable, null given in /in/LL8qr on line 72 bool(false) iterator_to_array($xml->movies): array(0) { }
Output for 5.1.2
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#8 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#10 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#11 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#9 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#12 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Warning: iterator_to_array() expects parameter 1 to be Traversable, null given in /in/LL8qr on line 73 bool(false) iterator_to_array($xml->movies): array(0) { }
Output for 5.0.0 - 5.0.5
$xml: object(SimpleXMLElement)#1 (1) { ["movie"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (5) { ["title"]=> string(22) "PHP: Behind the Parser" ["characters"]=> object(SimpleXMLElement)#4 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#6 (2) { ["name"]=> string(9) "Ms. Coder" ["actor"]=> string(14) "Onlivia Actora" } [1]=> object(SimpleXMLElement)#7 (2) { ["name"]=> string(9) "Mr. Coder" ["actor"]=> string(9) "El ActÓr" } } } ["plot"]=> string(162) " So, this language. It's like, a programming language. Or is it a scripting language? All is revealed in this thrilling horror spoof of a documentary. " ["great-lines"]=> object(SimpleXMLElement)#5 (1) { ["line"]=> string(30) "PHP solves all my web problems" } ["rating"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "5" } } [1]=> object(SimpleXMLElement)#3 (5) { ["title"]=> string(5) "Title" ["characters"]=> object(SimpleXMLElement)#8 (1) { ["character"]=> array(2) { [0]=> object(SimpleXMLElement)#10 (2) { ["name"]=> string(9) "Ms. Smith" ["actor"]=> string(8) "Jane Doe" } [1]=> object(SimpleXMLElement)#11 (2) { ["name"]=> string(9) "Mr. Smith" ["actor"]=> string(8) "John Doe" } } } ["plot"]=> string(24) " There is no plot. " ["great-lines"]=> object(SimpleXMLElement)#9 (1) { ["line"]=> array(2) { [0]=> string(4) "Yes?" [1]=> string(3) "No!" } } ["rating"]=> array(2) { [0]=> string(1) "3" [1]=> string(1) "2" } } } } $xml->movies: object(SimpleXMLElement)#12 (0) { } $xml->movies->movie: NULL $xml->movies->movie[0]: NULL iterator_to_array($xml->movies->movie): Fatal error: Call to undefined function iterator_to_array() in /in/LL8qr on line 72
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: simplexml_load_string() in /in/LL8qr on line 53
Process exited with code 255.
Output for 4.3.2 - 4.4.1, 4.4.3 - 4.4.4
Fatal error: Call to undefined function: simplexml_load_string() in /in/LL8qr on line 53
Process exited with code 255.
Output for 4.4.2
Fatal error: Call to undefined function: simplexml_load_string() in /in/LL8qr on line 54
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: simplexml_load_string() in /in/LL8qr on line 53