3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Which one is greatest? */ error_reporting(E_ALL ^ E_NOTICES); $inf = INF; $array = array(); $object = (object) $array; $InfGreaterThanArray = ($inf > $array); $InfGreaterThanObject = ($inf > $object); $arrayGreaterThanInf = ($array > $inf); $arrayGreaterThanObject = ($array > $object); $objectGreaterThanInf = ($object > $inf); $objectGreaterThanArray = ($object > array()); // Test1: Is INF greatest? # boolean(false) echo 'Inf is Greatest:', var_dump($InfIsGreatest = $InfGreaterThanObject and $InfGreaterThanArray); // Test2: Is Array greatest? # boolean(false) echo 'Array is Greatest:', var_dump($arrayIsGreatest = $arrayGreaterThanInf and $arrayGreaterThanObject); // Test3: Is Object greatest? # boolean(false) echo 'Object is Greatest:', var_dump($objectIsGreatest = $objectGreaterThanInf and $objectGreaterThanArray); // Test4: Undefined? # boolean(true) echo 'Undefined:', var_dump( $undefined = ( ($InfIsGreatest and $InfIsGreatest == $arrayIsGreatest) || ($arrayIsGreatest and $arrayIsGreatest == $objectIsGreatest) || (!$InfIsGreatest and $InfIsGreatest == $arrayIsGreatest and $InfIsGreatest == $objectIsGreatest) ) );
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
Fatal error: Uncaught Error: Undefined constant "E_NOTICES" in /in/2eAAR:6 Stack trace: #0 {main} thrown in /in/2eAAR on line 6
Process exited with code 255.
Output for 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33
Warning: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' (this will throw an Error in a future version of PHP) in /in/2eAAR on line 6 Warning: A non-numeric value encountered in /in/2eAAR on line 6 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 13 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 18 Inf is Greatest:bool(false) Array is Greatest:bool(false) Object is Greatest:bool(false) Undefined:bool(true)
Output for 7.1.0 - 7.1.20
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Warning: A non-numeric value encountered in /in/2eAAR on line 6 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 13 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 18 Inf is Greatest:bool(false) Array is Greatest:bool(false) Object is Greatest:bool(false) Undefined:bool(true)
Output for 7.0.0 - 7.0.20
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 13 Notice: Object of class stdClass could not be converted to float in /in/2eAAR on line 18 Inf is Greatest:bool(false) Array is Greatest:bool(false) Object is Greatest:bool(false) Undefined:bool(true)
Output for 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.36, 5.6.0 - 5.6.28
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Notice: Object of class stdClass could not be converted to double in /in/2eAAR on line 13 Notice: Object of class stdClass could not be converted to double in /in/2eAAR on line 18 Inf is Greatest:bool(false) Array is Greatest:bool(false) Object is Greatest:bool(false) Undefined:bool(true)
Output for 5.1.0 - 5.1.6
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Notice: Object of class stdClass could not be converted to int in /in/2eAAR on line 13 Notice: Object of class stdClass could not be converted to int in /in/2eAAR on line 16 Notice: Object of class stdClass could not be converted to int in /in/2eAAR on line 18 Notice: Object of class stdClass could not be converted to int in /in/2eAAR on line 19 Inf is Greatest:bool(false) Array is Greatest:bool(true) Object is Greatest:bool(false) Undefined:bool(true)
Output for 4.3.6 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Inf is Greatest:bool(false) Array is Greatest:bool(true) Object is Greatest:bool(false) Undefined:bool(true)
Output for 4.3.0 - 4.3.5
Notice: Use of undefined constant E_NOTICES - assumed 'E_NOTICES' in /in/2eAAR on line 6 Notice: Use of undefined constant INF - assumed 'INF' in /in/2eAAR on line 8 Inf is Greatest:bool(false) Array is Greatest:bool(true) Object is Greatest:bool(false) Undefined:bool(true)

preferences:
240.78 ms | 402 KiB | 349 Q