3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_dump(to_int(1..5)); var_dump(to_int(1...)); /** * Returns the value as an int, or false if it cannot be safely cast * @param mixed $val * @return int */ function to_int($val) { switch (gettype($val)) { case "integer": return $val; case "double": if ($val === (float) (int) $val) { return (int) $val; } else { return false; } case "string": $val = trim($val, " \t\n\r\v\f"); // trim whitespace $float = filter_var($val, FILTER_VALIDATE_FLOAT); return ($float !== false && (int) $val == $float) ? (int) $val : false; default: return false; } }

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.4.320.0060.04312.50
5.4.310.0110.04412.49
5.4.300.0030.04412.49
5.4.290.0060.04212.50
5.4.280.0090.04012.39
5.4.270.0100.04512.39
5.4.260.0080.04412.39
5.4.250.0030.04012.39
5.4.240.0090.03512.39
5.4.230.0080.04012.38
5.4.220.0090.04012.38
5.4.210.0080.03812.38
5.4.200.0080.03612.38
5.4.190.0070.03812.38
5.4.180.0020.04812.38
5.4.170.0050.03712.39
5.4.160.0060.03912.38
5.4.150.0050.04512.38
5.4.140.0060.04112.07
5.4.130.0060.03912.05
5.4.120.0090.03512.01
5.4.110.0030.03812.01
5.4.100.0070.04012.01
5.4.90.0100.03512.01
5.4.80.0070.04512.01
5.4.70.0060.04012.00
5.4.60.0050.03712.00
5.4.50.0140.03612.01
5.4.40.0080.04212.00
5.4.30.0110.03511.99
5.4.20.0080.03611.99
5.4.10.0060.03611.99
5.4.00.0070.03911.48
5.3.290.0110.04412.80
5.3.280.0100.04212.71
5.3.270.0090.04012.72
5.3.260.0100.04312.72
5.3.250.0110.04112.72
5.3.240.0030.04212.72
5.3.230.0070.05012.71
5.3.220.0060.04212.68
5.3.210.0040.04512.68
5.3.200.0140.03612.68
5.3.190.0050.05012.68
5.3.180.0080.03712.67
5.3.170.0070.03912.67
5.3.160.0090.04112.68
5.3.150.0050.04012.68
5.3.140.0060.04212.66
5.3.130.0070.04112.66
5.3.120.0070.04712.66
5.3.110.0050.03912.66
5.3.100.0050.03912.12
5.3.90.0060.04012.09
5.3.80.0050.04612.08
5.3.70.0060.04612.07
5.3.60.0070.04712.06
5.3.50.0090.04112.00
5.3.40.0100.03712.00
5.3.30.0110.03811.95
5.3.20.0080.03411.72
5.3.10.0040.04011.70
5.3.00.0090.03811.68
5.2.170.0050.0389.18
5.2.160.0120.0399.18
5.2.150.0050.0309.18
5.2.140.0090.0269.18
5.2.130.0070.0439.14
5.2.120.0040.0339.14
5.2.110.0080.0319.14
5.2.100.0060.0399.14
5.2.90.0040.0419.14
5.2.80.0070.0309.13
5.2.70.0060.0329.14
5.2.60.0050.0349.09
5.2.50.0040.0339.06
5.2.40.0050.0289.04
5.2.30.0060.0289.02
5.2.20.0050.0289.00
5.2.10.0020.0308.93
5.2.00.0050.0298.79
5.1.60.0040.0268.07
5.1.50.0050.0268.07
5.1.40.0040.0248.05
5.1.30.0040.0268.40
5.1.20.0040.0298.41
5.1.10.0040.0268.14
5.1.00.0050.0268.14
5.0.50.0070.0216.63
5.0.40.0010.0236.48
5.0.30.0030.0356.29
5.0.20.0030.0206.29
5.0.10.0060.0166.27
5.0.00.0080.0296.26
4.4.90.0040.0214.78
4.4.80.0050.0244.76
4.4.70.0050.0204.75
4.4.60.0040.0184.76
4.4.50.0040.0164.77
4.4.40.0030.0244.71
4.4.30.0020.0174.76
4.4.20.0030.0174.84
4.4.10.0070.0204.85
4.4.00.0030.0244.76
4.3.110.0030.0154.67
4.3.100.0030.0154.66
4.3.90.0000.0174.64
4.3.80.0020.0254.58
4.3.70.0000.0174.63
4.3.60.0040.0134.63
4.3.50.0030.0154.63
4.3.40.0020.0254.54
4.3.30.0030.0153.31
4.3.20.0020.0163.29
4.3.10.0020.0163.25
4.3.00.0000.0237.45

preferences:
142.53 ms | 1394 KiB | 7 Q