3v4l.org

run code in 500+ PHP versions simultaneously
<?php echo CASE_LOWER, PHP_EOL; echo CASE_UPPER, PHP_EOL; $arr = ['a' => 1]; echo '===== THESE ARE VALID AND CORRECT =====', PHP_EOL; echo '------ $case is PHP constant -------------', PHP_EOL; var_dump(array_change_key_case($arr, CASE_LOWER)); var_dump(array_change_key_case($arr, CASE_UPPER)); echo '------ $case is integer -------------', PHP_EOL; var_dump(array_change_key_case($arr, 0)); var_dump(array_change_key_case($arr, 1)); echo '===== THE BEHAVIOUR HERE IS UNEXPECTED, I WOULD EXPECT A TYPEERROR =====', PHP_EOL; echo '------- $case is text string ------------', PHP_EOL; var_dump(array_change_key_case($arr, '0')); var_dump(array_change_key_case($arr, '1')); echo '------ $case is float -------------', PHP_EOL; var_dump(array_change_key_case($arr, 0.3)); var_dump(array_change_key_case($arr, 1.4)); echo '------ $case is boolean -------------', PHP_EOL; var_dump(array_change_key_case($arr, false)); var_dump(array_change_key_case($arr, true)); echo '===== WHEN ERRORS ARE ACTUALLY THROWN =====', PHP_EOL; echo '------ $case is invalid value -------------', PHP_EOL; try { var_dump(array_change_key_case($arr, 3)); } catch(Error $e) { echo $e->getMessage(), PHP_EOL; } echo '------ $case is invalid value and invalid type -------------', PHP_EOL; try { var_dump(array_change_key_case($arr, 'text')); } catch(Error $e) { echo $e->getMessage(), PHP_EOL; }

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.100.0110.00717.24
8.5.90.0110.00917.24
8.5.80.0110.00717.24
8.5.70.0100.00817.24
8.5.60.0090.01017.24
8.5.50.0110.00817.24
8.5.40.0110.00617.24
8.5.30.0090.00917.24
8.5.20.0090.00917.24
8.5.10.0150.00317.24
8.5.00.0120.00617.24
8.4.250.0130.00919.73
8.4.240.0120.01019.77
8.4.230.0120.00919.79
8.4.220.0130.00919.86
8.4.210.0130.00919.66
8.4.200.0120.01019.66
8.4.190.0120.00919.82
8.4.180.0130.00519.84
8.4.170.0140.00819.84
8.4.160.0090.01119.77
8.4.150.0120.00219.80
8.4.140.0100.00917.95
8.4.130.0140.00617.97
8.4.120.0140.00618.17
8.4.110.0070.00917.97
8.4.100.0090.00518.16
8.4.90.0050.00318.10
8.4.80.0130.00718.16
8.4.70.0090.00918.13
8.4.60.0120.00718.17
8.4.50.0150.00518.07
8.4.40.0120.00718.05
8.4.30.0110.00717.91
8.4.20.0110.00917.90
8.4.10.0110.00817.89
8.3.330.0120.00918.70
8.3.320.0110.01018.58
8.3.310.0100.01018.68
8.3.300.0100.00518.53
8.3.290.0070.00218.53
8.3.280.0110.01018.54
8.3.270.0080.00917.24
8.3.260.0040.00417.24
8.3.250.0110.00717.24
8.3.240.0090.01017.24
8.3.230.0110.00717.24
8.3.220.0120.00817.24
8.3.210.0130.00717.24
8.3.200.0120.00717.24
8.3.190.0080.01117.24
8.3.180.0140.00617.24
8.3.170.0130.00717.24
8.3.160.0100.01017.24
8.3.150.0100.01217.24
8.3.140.0120.00817.24
8.3.130.0090.00917.24
8.3.120.0110.01017.24
8.3.110.0110.00917.24
8.3.100.0090.00917.24
8.3.90.0030.00517.24
8.3.80.0140.00417.24
8.3.70.0090.00917.24
8.3.60.0140.00317.24
8.3.50.0080.00817.24
8.3.40.0070.00318.09
8.3.30.0060.00218.09
8.3.20.0050.00318.03
8.3.10.0060.00318.16
8.3.00.0050.00418.03
8.2.330.0050.00418.19
8.2.320.0030.00518.29
8.2.310.0160.00418.18

preferences:
65.08 ms | 875 KiB | 5 Q