3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php //$xml = simplexml_load_file('data.xml'); $xml = simplexml_load_string('<items> <item> <images> <image>A</image> <image>B</image> <image>C</image> </images> </item> </items>'); //var_dump($xml); // Loop over items in original xml foreach ($xml->item as $item) { if ($item->images->image->count() > 1) { // Clone entry $images = clone $item->images; // Remove entry and replace with empty unset($item->images); $item->addChild('images'); var_dump($images->image); foreach ($images->image as $key => $img ) { var_dump($key,$img); $name = 'image' . ($key) ?: ''; $item->images->addChild($name, $img); } } } //$xml->asXML('POTO.xml'); echo $xml->asXML();
Output for 5.5.27 - 5.5.38, 5.6.11 - 7.1.0
object(SimpleXMLElement)#6 (3) { [0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "C" } string(5) "image" object(SimpleXMLElement)#9 (1) { [0]=> string(1) "A" } string(5) "image" object(SimpleXMLElement)#10 (1) { [0]=> string(1) "B" } string(5) "image" object(SimpleXMLElement)#9 (1) { [0]=> string(1) "C" } <?xml version="1.0"?> <items> <item> <images><imageimage>A</imageimage><imageimage>B</imageimage><imageimage>C</imageimage></images></item> </items>
Output for 5.4.0 - 5.5.26, 5.6.0 - 5.6.10
object(SimpleXMLElement)#6 (3) { [0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "C" } string(5) "image" object(SimpleXMLElement)#9 (0) { } string(5) "image" object(SimpleXMLElement)#10 (0) { } string(5) "image" object(SimpleXMLElement)#9 (0) { } <?xml version="1.0"?> <items> <item> <images><imageimage>A</imageimage><imageimage>B</imageimage><imageimage>C</imageimage></images></item> </items>
Output for 5.3.0 - 5.3.29
object(SimpleXMLElement)#6 (1) { [0]=> string(1) "A" } string(5) "image" object(SimpleXMLElement)#9 (1) { [0]=> string(1) "A" } string(5) "image" object(SimpleXMLElement)#10 (1) { [0]=> string(1) "B" } string(5) "image" object(SimpleXMLElement)#9 (1) { [0]=> string(1) "C" } <?xml version="1.0"?> <items> <item> <images><imageimage>A</imageimage><imageimage>B</imageimage><imageimage>C</imageimage></images></item> </items>
Output for 5.1.0 - 5.2.17
Parse error: syntax error, unexpected ':' in /in/OZPI0 on line 28
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected ':' in /in/OZPI0 on line 28
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_VARIABLE in /in/OZPI0 on line 19
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_VARIABLE in /in/OZPI0 on line 19
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/OZPI0 on line 19
Process exited with code 255.