3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<< EOT <?xml version='1.0' encoding='UTF-8'?> <eveapi version="2"> <currentTime>2013-10-01 18:00:01</currentTime> <result> <rowset name="members" key="characterID" columns="characterID, name"> <row characterID="2234" name="Bob">test <rowset name="roles" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRoles" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtHQ" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtHQ" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtBase" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtBase" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtOther" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtOther" key="roleID" columns="roleID,roleName" /> <rowset name="titles" key="titleID" columns="titleID,titleName"> <row titleID="256" titleName="Tiger" /> </rowset> </row> <row characterID="555" name="John">test1 <rowset name="roles" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRoles" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtHQ" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtHQ" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtBase" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtBase" key="roleID" columns="roleID,roleName" /> <rowset name="rolesAtOther" key="roleID" columns="roleID,roleName" /> <rowset name="grantableRolesAtOther" key="roleID" columns="roleID,roleName" /> <rowset name="titles" key="titleID" columns="titleID,titleName"> <row titleID="16" titleName="R &amp; D" /> <row titleID="64" titleName="Miner" /> <row titleID="256" titleName="Tiger" /> <row titleID="16384" titleName="POS Manager" /> </rowset> </row> </rowset> </result> <cachedUntil>2013-10-01 18:57:01</cachedUntil> </eveapi> EOT; $simpleXML = simplexml_load_string($xml); // Load XML string data into the simplexml object parser foreach ($simpleXML->result->rowset as $rowset) { foreach ($rowset->row as $row) { $titles = []; echo "cp "; print_r($row); echo " cp "; $name = $row['name']->__toString(); foreach($row as $attrib){ if($attrib['name']->__toString() === 'titles'){ foreach($attrib as $title){ $titles[] = $title['titleName']->__toString(); } } } echo $name . ' : ' . implode(' - ', $titles) . "<br/>\n"; } }
Output for git.master, git.master_jit, rfc.property-hooks
cp SimpleXMLElement Object ( [@attributes] => Array ( [characterID] => 2234 [name] => Bob ) [rowset] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => roles [key] => roleID [columns] => roleID,roleName ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRoles [key] => roleID [columns] => roleID,roleName ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtHQ [key] => roleID [columns] => roleID,roleName ) ) [3] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtHQ [key] => roleID [columns] => roleID,roleName ) ) [4] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtBase [key] => roleID [columns] => roleID,roleName ) ) [5] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtBase [key] => roleID [columns] => roleID,roleName ) ) [6] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtOther [key] => roleID [columns] => roleID,roleName ) ) [7] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtOther [key] => roleID [columns] => roleID,roleName ) ) [8] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => titles [key] => titleID [columns] => titleID,titleName ) [row] => SimpleXMLElement Object ( [@attributes] => Array ( [titleID] => 256 [titleName] => Tiger ) ) ) ) ) cp Bob : Tiger<br/> cp SimpleXMLElement Object ( [@attributes] => Array ( [characterID] => 555 [name] => John ) [rowset] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => roles [key] => roleID [columns] => roleID,roleName ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRoles [key] => roleID [columns] => roleID,roleName ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtHQ [key] => roleID [columns] => roleID,roleName ) ) [3] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtHQ [key] => roleID [columns] => roleID,roleName ) ) [4] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtBase [key] => roleID [columns] => roleID,roleName ) ) [5] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtBase [key] => roleID [columns] => roleID,roleName ) ) [6] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => rolesAtOther [key] => roleID [columns] => roleID,roleName ) ) [7] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => grantableRolesAtOther [key] => roleID [columns] => roleID,roleName ) ) [8] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => titles [key] => titleID [columns] => titleID,titleName ) [row] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [titleID] => 16 [titleName] => R & D ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [titleID] => 64 [titleName] => Miner ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [titleID] => 256 [titleName] => Tiger ) ) [3] => SimpleXMLElement Object ( [@attributes] => Array ( [titleID] => 16384 [titleName] => POS Manager ) ) ) ) ) ) cp John : R & D - Miner - Tiger - POS Manager<br/>

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:
38.69 ms | 421 KiB | 8 Q