3v4l.org

run code in 300+ PHP versions simultaneously
<?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 git.master, git.master_jit
$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]: Warning: Trying to access array offset on value of type null in /in/LL8qr on line 68 NULL iterator_to_array($xml->movies->movie): Fatal error: Uncaught TypeError: iterator_to_array(): Argument #1 ($iterator) must be of type Traversable|array, 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 rfc.property-hooks
$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]: Warning: Trying to access array offset on null in /in/LL8qr on line 68 NULL iterator_to_array($xml->movies->movie): Fatal error: Uncaught TypeError: iterator_to_array(): Argument #1 ($iterator) must be of type Traversable|array, 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.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
35.97 ms | 404 KiB | 8 Q