3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php error_reporting(E_ALL); global $n; $n=0; function convert($xml) { $simpleXmlObj = simplexml_load_string($xml); $array = toarray($simpleXmlObj); return $array; } function toarray($simpleXmlObj) { $simpleXmlObjNew = array(); foreach (array_keys((array)$simpleXmlObj) as $element) { $el = (array)$simpleXmlObj->$element; if(isset($el[0])){ $trim = $el[0]; $simpleXmlObjNew[$element] = $trim; }else{ $simpleXmlObjNew[$element] = toarray($simpleXmlObj->$element); } if(empty( $simpleXmlObjNew[$element] )){ $simpleXmlObjNew[$element] = ''; } } return $simpleXmlObjNew; } $xml = <<<xml <?xml version="1.0" encoding="utf-8"?> <RESPONSE> <e></e> <e1> </e1> <e2> s </e2> <e3>s</e3> <e4> </e4> </RESPONSE> xml; $simpleXmlObj = simplexml_load_string($xml); $response = toarray($simpleXmlObj); print_r($response);
based on 0rhCF
Output for 5.5.27 - 5.5.38, 5.6.11 - 7.2.0
Array ( [e] => [e1] => SimpleXMLElement Object ( [0] => ) [e2] => s [e3] => s [e4] => SimpleXMLElement Object ( [0] => ) )
Output for 5.4.0 - 5.5.26, 5.6.0 - 5.6.10
Array ( [e] => [e1] => [e2] => s [e3] => s [e4] => )
Output for 5.0.0 - 5.3.29
Array ( [e] => [e1] => [e2] => s [e3] => s [e4] => )
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: simplexml_load_string() in /in/uDm6Z on line 45
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/uDm6Z on line 45
Process exited with code 255.
Output for 4.4.2
Fatal error: Call to undefined function: simplexml_load_string() in /in/uDm6Z on line 46
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: simplexml_load_string() in /in/uDm6Z on line 45