3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $xmlStr = <<<XML <?xml version='1.0' encoding='UTF-8' standalone='yes'?> <root></root> XML; $xml = new \SimpleXMLElement($xmlStr); $xml = assocToXml(['one' => 1, 'two' => ['three' => 3, 'four' => '4']], $xml); var_dump($xml); function assocToXml(array $array, \SimpleXMLElement $xml) { foreach ($array as $key => $value) { if (!is_array($value)) { if (is_string($key)) { $xml->addChild($key, $value); } } else { $xml->addChild($key); // $xml->{$key} = $value; assocToXml($value, $xml->{$key}); } } return $xml; }
based on vobEc
Output for 5.4.0 - 7.2.0
object(SimpleXMLElement)#1 (2) { ["one"]=> string(1) "1" ["two"]=> object(SimpleXMLElement)#2 (2) { ["three"]=> string(1) "3" ["four"]=> string(1) "4" } }
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[', expecting ')' in /in/m1q7N on line 8
Process exited with code 255.
Output for 4.4.3 - 4.4.9, 5.1.0 - 5.1.1, 5.1.3 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/m1q7N on line 7 Parse error: syntax error, unexpected '[', expecting ')' in /in/m1q7N on line 8
Process exited with code 255.
Output for 4.4.2, 5.1.2
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/m1q7N on line 8 Parse error: syntax error, unexpected '[', expecting ')' in /in/m1q7N on line 9
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/m1q7N on line 7 Parse error: parse error, unexpected '[', expecting ')' in /in/m1q7N on line 8
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/m1q7N on line 7 Parse error: parse error, expecting `')'' in /in/m1q7N on line 8
Process exited with code 255.