3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { static function cast(&$val, $key, $allow_zero_first_character = false) { if (is_numeric($val)) { if($allow_zero_first_character || (!$allow_zero_first_character && $val[0] != '0')) { $val += 0; } } } static function run() { $arr = ['stri33ng123', 84, 76.7, '45.6', '67.5e45', '56,9', 078, 0.78, '078', '0.78', .78, '.78']; var_dump($arr); //array_walk($arr , ['self', 'cast']); array_walk($arr , 'self::cast', true); var_dump($arr); } } A::run();

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)
5.6.280.0070.07020.89
5.6.210.0030.06020.65
5.6.200.0070.08318.19
5.6.190.0130.06320.39
5.6.180.0200.04020.60
5.6.170.0230.08020.58
5.6.160.0130.04720.44
5.6.150.0070.07318.15
5.6.140.0000.05318.15
5.6.130.0070.08018.17
5.6.120.0070.08321.00
5.6.110.0030.09320.98
5.6.100.0030.08021.09
5.6.90.0000.08320.98
5.6.80.0070.04020.53
5.6.70.0230.06020.36
5.5.350.0170.03320.39
5.5.340.0100.06318.07
5.5.330.0100.06320.37
5.5.320.0230.07320.26
5.5.310.0170.07020.19
5.5.300.0030.06317.98
5.5.290.0030.04017.99
5.5.280.0100.08020.69
5.5.270.0070.06020.96
5.5.260.0030.06720.68
5.5.250.0000.04720.51
5.5.240.0070.08020.13
5.4.450.0230.06019.53
5.4.440.0270.07319.20
5.4.430.0230.07719.63
5.4.420.0200.07719.37
5.4.410.0230.05019.05
5.4.400.0330.06719.15
5.4.390.0230.07319.08
5.4.380.0130.04319.14
5.4.370.0200.08019.20
5.4.360.0270.07319.16
5.4.350.0230.04718.88
5.4.340.0300.06719.17
5.4.320.0300.07318.83
5.4.310.0270.05719.19
5.4.300.0270.04719.24
5.4.290.0230.06018.97
5.4.280.0170.08318.99
5.4.270.0270.06719.08
5.4.260.0270.04319.09
5.4.250.0200.05318.94
5.4.240.0200.07318.98
5.4.230.0270.04318.97
5.4.220.0200.06018.98
5.4.210.0200.06719.08
5.4.200.0230.07718.97
5.4.190.0200.07319.07
5.4.180.0270.07018.97
5.4.170.0170.04019.23
5.4.160.0200.08019.22
5.4.150.0300.05718.83
5.4.140.0300.05716.43
5.4.130.0200.07016.55
5.4.120.0370.03316.57
5.4.110.0270.05016.42
5.4.100.0270.04716.58
5.4.90.0270.05016.52
5.4.80.0200.05716.39
5.4.70.0200.03716.55
5.4.60.0230.03316.22
5.4.50.0170.04016.16
5.4.40.0230.04316.45
5.4.30.0270.04016.52
5.4.20.0370.05716.53
5.4.10.0200.03716.38
5.4.00.0230.05015.89
5.3.270.0130.04314.60
5.3.260.0230.05314.63
5.3.250.0200.03714.77
5.3.240.0170.07314.72
5.3.230.0270.07014.61
5.3.220.0300.06714.65
5.3.210.0270.07014.64
5.3.200.0270.06314.49
5.3.190.0200.07314.54
5.3.180.0170.08014.47
5.3.170.0170.04014.48
5.3.160.0200.03714.47
5.3.150.0300.07314.57
5.3.140.0270.06714.78
5.3.130.0130.06314.46
5.3.120.0170.04314.45
5.3.110.0270.04314.52
5.3.100.0230.04314.15
5.3.90.0230.07013.94
5.3.80.0230.04714.24
5.3.70.0170.06714.00
5.3.60.0300.05013.93
5.3.50.0270.05014.17
5.3.40.0170.05014.04
5.3.30.0300.06013.92
5.3.20.0270.05313.61
5.3.10.0270.05313.77
5.3.00.0230.06013.86
5.2.170.0230.03312.11
5.2.160.0200.03712.11
5.2.150.0300.04712.11
5.2.140.0200.03712.11
5.2.130.0200.04012.11
5.2.120.0270.02712.11
5.2.110.0200.06012.11
5.2.100.0230.04312.11
5.2.90.0200.03712.11
5.2.80.0270.02312.11
5.2.70.0170.03712.11
5.2.60.0230.04312.11
5.2.50.0170.04012.11
5.2.40.0100.04012.11
5.2.30.0100.04312.11
5.2.20.0170.03712.11
5.2.10.0100.04712.11
5.2.00.0070.04712.11
5.1.60.0130.04312.11
5.1.50.0270.03712.11
5.1.40.0200.04712.11
5.1.30.0270.03312.11
5.1.20.0300.04012.11
5.1.10.0170.05312.11
5.1.00.0270.04312.11
5.0.50.0070.03312.11
5.0.40.0130.02712.11
5.0.30.0100.06312.11
5.0.20.0070.04712.11
5.0.10.0100.04012.11
5.0.00.0130.06012.11
4.4.90.0070.02712.11
4.4.80.0070.01712.11
4.4.70.0100.02312.11
4.4.60.0100.03012.11
4.4.50.0100.02312.11
4.4.40.0100.03712.11
4.4.30.0070.03712.11
4.4.20.0100.03312.11
4.4.10.0100.03312.11
4.4.00.0100.02712.11
4.3.110.0070.02012.11
4.3.100.0100.02712.11
4.3.90.0130.02012.11
4.3.80.0070.04012.11
4.3.70.0130.01712.11
4.3.60.0130.03012.11
4.3.50.0130.02012.11
4.3.40.0070.04012.11
4.3.30.0000.02312.11
4.3.20.0070.03012.11
4.3.10.0070.03312.11
4.3.00.0030.02012.11

preferences:
135.58 ms | 1394 KiB | 7 Q