3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo LIBXML_DOTTED_VERSION, "\n"; $xml = <<<'XML' <products> <product category="Desktop"> <name> Desktop 1 (d)</name> <price>499.99</price> </product> <product category="Tablet"> <name>Tablet 1 (t)</name> <price>1099.99</price> </product> </products> XML; $reader = new XMLReader; $reader->open('data://text/xml,'.$xml); $dom = new DOMDocument; $xpath = new DOMXpath($dom); // look for the first product element while ($reader->read() && $reader->localName !== 'product') { continue; } // while you have an product element while ($reader->localName === 'product') { $node = $reader->expand($dom); var_dump( $xpath->evaluate('string(@category)', $node), $xpath->evaluate('string(name)', $node), $xpath->evaluate('number(price)', $node) ); // move to the next product sibling $reader->next('product'); }
Output for 5.6.28, 7.0.14 - 7.0.20, 7.1.0 - 7.1.7, 7.1.20 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
2.9.4 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 2.9.4 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 7.1.10
2.9.5 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.15, 5.6.17 - 5.6.21, 7.0.1 - 7.0.6
2.9.3 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 5.4.0 - 5.4.45, 5.6.16, 7.0.0
2.9.2 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 5.3.25 - 5.3.29
2.9.1 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 5.3.15 - 5.3.24
2.8.0 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 5.3.0 - 5.3.14
2.7.8 string(7) "Desktop" string(14) " Desktop 1 (d)" float(499.99) string(6) "Tablet" string(12) "Tablet 1 (t)" float(1099.99)
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_SL in /in/ol4uo on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_SL in /in/ol4uo on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/ol4uo on line 4
Process exited with code 255.

preferences:
264.82 ms | 401 KiB | 355 Q