3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xmlString = '<'.'?xml version="1.0" encoding="UTF-8"?'.'>' . '<rootEl>' . '<a attrA="valA">xxx</a>' . '<b attrB="valB"/>' . '<c>oink</c>' . '<d/>'. '<e>' . '<f>zzz</f>' . '</e>' . '</rootEl>'; $xml = simplexml_load_string( $xmlString ); foreach ( $xml->children() as $child ) { echo "\$CHILD [" . $child->getName() . "]: " . $child->asXML(); echo "\n"; $insideIf1 = false; if ($child) { $insideIf1 = true; } $insideIf2 = false; if (true == $child) { $insideIf2 = true; } $insideIf3 = false; if ((boolean)$child) { $insideIf3 = true; } echo " - if(\$CHILD) return \"true\"; else return \"false\"; : " . (($insideIf1)?"true":"false")."\n"; echo " - if(true == \$CHILD) return \"true\"; else return \"false\"; : " . (($insideIf2)?"true":"false")."\n"; echo " - if((boolean)\$CHILD) return \"true\"; else return \"false\"; : " . (($insideIf3)?"true":"false")."\n"; echo " - ((\$CHILD)?\"true\":\"false\"): " . (($child)?"true":"false")."\n"; echo " - ((true == \$CHILD)?\"true\":\"false\"): " . ((true == $child)?"true":"false")."\n"; echo " - (((boolean)\$CHILD)?\"true\":\"false\"): " . (((boolean)$child)?"true":"false")."\n"; echo "\n"; }
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 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.7
$CHILD [a]: <a attrA="valA">xxx</a> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [b]: <b attrB="valB"/> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [c]: <c>oink</c> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [d]: <d/> - if($CHILD) return "true"; else return "false"; : false - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : false - (($CHILD)?"true":"false"): false - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): false $CHILD [e]: <e><f>zzz</f></e> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true
Output for 5.6.11 - 5.6.38
$CHILD [a]: <a attrA="valA">xxx</a> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [b]: <b attrB="valB"/> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): true $CHILD [c]: <c>oink</c> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [d]: <d/> - if($CHILD) return "true"; else return "false"; : false - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : false - (($CHILD)?"true":"false"): false - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): false $CHILD [e]: <e><f>zzz</f></e> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): true
Output for 5.6.0 - 5.6.10
$CHILD [a]: <a attrA="valA">xxx</a> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): true $CHILD [b]: <b attrB="valB"/> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): true $CHILD [c]: <c>oink</c> - if($CHILD) return "true"; else return "false"; : false - if(true == $CHILD) return "true"; else return "false"; : true - if((boolean)$CHILD) return "true"; else return "false"; : false - (($CHILD)?"true":"false"): false - ((true == $CHILD)?"true":"false"): true - (((boolean)$CHILD)?"true":"false"): false $CHILD [d]: <d/> - if($CHILD) return "true"; else return "false"; : false - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : false - (($CHILD)?"true":"false"): false - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): false $CHILD [e]: <e><f>zzz</f></e> - if($CHILD) return "true"; else return "false"; : true - if(true == $CHILD) return "true"; else return "false"; : false - if((boolean)$CHILD) return "true"; else return "false"; : true - (($CHILD)?"true":"false"): true - ((true == $CHILD)?"true":"false"): false - (((boolean)$CHILD)?"true":"false"): true

preferences:
207.38 ms | 409 KiB | 255 Q