3v4l.org

run code in 300+ PHP versions simultaneously
<?php class IndexRange { /** @var 0|positive-int */ public int $start; /** @var 0|positive-int */ public int $end; /** * @param 0|positive-int $start * @param 0|positive-int $end */ public function __construct(int $start = null, int $end = null) { if (null !== $start) { $this->start = $start; } if (null !== $end) { $this->end = $end; } } } function acceptOne($a) {}; function acceptTwo($a, $b) {}; $t = microtime(true); for ($i = 0; $i < 100_000; $i++) { $start = $i; $end = $i; acceptTwo($start, $end); } echo '2 vars: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n"; $t = microtime(true); for ($i = 0; $i < 100_000; $i++) { $rangeArr = [$i, $i]; acceptOne($rangeArr); } echo 'range arr: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n"; $t = microtime(true); for ($i = 0; $i < 100_000; $i++) { $rangeObj = new IndexRange($i, $i); acceptOne($rangeObj); } echo 'range obj: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n";
Output for 8.3.1
2 vars: 3.53 ms range arr: 9.07 ms range obj: 14.71 ms
Output for 8.3.0
2 vars: 3.31 ms range arr: 8.72 ms range obj: 14.22 ms
Output for 8.2.14
2 vars: 1.39 ms range arr: 3.58 ms range obj: 7.39 ms
Output for 8.2.13
2 vars: 3.31 ms range arr: 9.16 ms range obj: 18.17 ms
Output for 8.2.12
2 vars: 2.66 ms range arr: 7 ms range obj: 14.09 ms
Output for 8.2.11
2 vars: 2.94 ms range arr: 6.79 ms range obj: 14.38 ms
Output for 8.2.10
2 vars: 3.93 ms range arr: 9.43 ms range obj: 19.72 ms
Output for 8.2.9
2 vars: 2.78 ms range arr: 6.99 ms range obj: 14.14 ms
Output for 8.2.8
2 vars: 2.81 ms range arr: 6.77 ms range obj: 13.5 ms
Output for 8.2.7
2 vars: 3.41 ms range arr: 5.06 ms range obj: 9.72 ms
Output for 8.2.6
2 vars: 1.82 ms range arr: 3.57 ms range obj: 10.03 ms
Output for 8.2.5
2 vars: 2.21 ms range arr: 5.51 ms range obj: 11.21 ms
Output for 8.2.4
2 vars: 1.37 ms range arr: 3.66 ms range obj: 7.03 ms
Output for 8.2.3
2 vars: 1.37 ms range arr: 3.5 ms range obj: 7.01 ms
Output for 8.2.2
2 vars: 1.33 ms range arr: 3.53 ms range obj: 7.13 ms
Output for 8.2.1
2 vars: 1.41 ms range arr: 3.51 ms range obj: 7.18 ms
Output for 8.2.0
2 vars: 1.33 ms range arr: 3.58 ms range obj: 7.1 ms
Output for 8.1.27
2 vars: 1.35 ms range arr: 3.63 ms range obj: 7.52 ms
Output for 8.1.26
2 vars: 1.37 ms range arr: 3.5 ms range obj: 7.1 ms
Output for 8.1.25
2 vars: 3.43 ms range arr: 8.82 ms range obj: 13.85 ms
Output for 8.1.24
2 vars: 1.34 ms range arr: 3.57 ms range obj: 7.36 ms
Output for 8.1.23
2 vars: 1.41 ms range arr: 3.53 ms range obj: 7.08 ms
Output for 8.1.22
2 vars: 1.33 ms range arr: 3.59 ms range obj: 7.01 ms
Output for 8.1.21
2 vars: 2.66 ms range arr: 6.84 ms range obj: 7.28 ms
Output for 8.1.20
2 vars: 1.42 ms range arr: 3.49 ms range obj: 7.79 ms
Output for 8.1.19
2 vars: 3.53 ms range arr: 8.8 ms range obj: 17.38 ms
Output for 8.1.18
2 vars: 1.34 ms range arr: 3.53 ms range obj: 7.09 ms
Output for 8.1.17
2 vars: 3.37 ms range arr: 7.34 ms range obj: 8.04 ms
Output for 8.1.16
2 vars: 1.4 ms range arr: 3.59 ms range obj: 7.09 ms
Output for 8.1.15
2 vars: 1.31 ms range arr: 3.55 ms range obj: 7 ms
Output for 8.1.14
2 vars: 1.36 ms range arr: 3.63 ms range obj: 7.05 ms
Output for 8.1.13
2 vars: 3.49 ms range arr: 9.27 ms range obj: 13.26 ms
Output for 8.1.12
2 vars: 1.35 ms range arr: 3.54 ms range obj: 7.14 ms
Output for 8.1.11
2 vars: 3.36 ms range arr: 8.97 ms range obj: 15.97 ms
Output for 8.1.10
2 vars: 1.34 ms range arr: 3.6 ms range obj: 7.09 ms
Output for 8.1.9
2 vars: 2.68 ms range arr: 7.46 ms range obj: 15.08 ms
Output for 8.1.8
2 vars: 2.72 ms range arr: 7.03 ms range obj: 12.64 ms
Output for 8.1.7
2 vars: 1.38 ms range arr: 3.52 ms range obj: 7.07 ms
Output for 8.1.6
2 vars: 3.32 ms range arr: 9.75 ms range obj: 15.37 ms
Output for 8.1.5
2 vars: 1.32 ms range arr: 3.5 ms range obj: 7.18 ms
Output for 8.1.4
2 vars: 3.57 ms range arr: 9.12 ms range obj: 13.1 ms
Output for 8.1.3
2 vars: 2.77 ms range arr: 7.16 ms range obj: 7.91 ms
Output for 8.1.2
2 vars: 1.42 ms range arr: 3.59 ms range obj: 13.81 ms
Output for 8.1.1
2 vars: 3.68 ms range arr: 8.26 ms range obj: 12.05 ms
Output for 8.1.0
2 vars: 3.34 ms range arr: 8.69 ms range obj: 16.74 ms
Output for 8.0.30
2 vars: 2.64 ms range arr: 7.14 ms range obj: 13.92 ms
Output for 8.0.29
2 vars: 2.33 ms range arr: 3.48 ms range obj: 7.81 ms
Output for 8.0.28
2 vars: 2.32 ms range arr: 3.61 ms range obj: 7.22 ms
Output for 8.0.27
2 vars: 1.42 ms range arr: 3.53 ms range obj: 7.29 ms
Output for 8.0.26
2 vars: 5.99 ms range arr: 8.63 ms range obj: 10.51 ms
Output for 8.0.25
2 vars: 3.35 ms range arr: 9.21 ms range obj: 17.78 ms
Output for 8.0.24
2 vars: 4.17 ms range arr: 7.06 ms range obj: 10.61 ms
Output for 8.0.23
2 vars: 1.37 ms range arr: 3.49 ms range obj: 7.06 ms
Output for 8.0.22
2 vars: 1.59 ms range arr: 3.68 ms range obj: 7.46 ms
Output for 8.0.21
2 vars: 3.98 ms range arr: 5.54 ms range obj: 11.23 ms
Output for 8.0.20
2 vars: 1.37 ms range arr: 5.07 ms range obj: 9.18 ms
Output for 8.0.19
2 vars: 1.36 ms range arr: 5.06 ms range obj: 7.31 ms
Output for 8.0.18
2 vars: 1.37 ms range arr: 3.62 ms range obj: 7.12 ms
Output for 8.0.17
2 vars: 1.41 ms range arr: 3.51 ms range obj: 7.08 ms
Output for 8.0.16
2 vars: 1.29 ms range arr: 3.68 ms range obj: 7.37 ms
Output for 8.0.15
2 vars: 1.33 ms range arr: 3.57 ms range obj: 7.13 ms
Output for 8.0.14
2 vars: 1.46 ms range arr: 3.49 ms range obj: 7.2 ms
Output for 8.0.13
2 vars: 1.4 ms range arr: 3.7 ms range obj: 7.26 ms
Output for 8.0.12
2 vars: 1.53 ms range arr: 3.55 ms range obj: 7.25 ms
Output for 8.0.11
2 vars: 1.39 ms range arr: 3.53 ms range obj: 7.14 ms
Output for 8.0.10
2 vars: 1.4 ms range arr: 3.46 ms range obj: 7.14 ms
Output for 8.0.9
2 vars: 2.15 ms range arr: 3.6 ms range obj: 7.28 ms
Output for 8.0.8
2 vars: 1.37 ms range arr: 4.05 ms range obj: 7.04 ms
Output for 8.0.7
2 vars: 1.36 ms range arr: 3.62 ms range obj: 7.15 ms
Output for 8.0.6
2 vars: 1.32 ms range arr: 3.58 ms range obj: 8.16 ms
Output for 8.0.5
2 vars: 1.35 ms range arr: 3.51 ms range obj: 8.05 ms
Output for 8.0.3
2 vars: 1.27 ms range arr: 3.54 ms range obj: 7.17 ms
Output for 8.0.2
2 vars: 1.24 ms range arr: 3.56 ms range obj: 7.18 ms
Output for 8.0.1
2 vars: 2.17 ms range arr: 3.71 ms range obj: 7.18 ms
Output for 8.0.0
2 vars: 1.31 ms range arr: 3.61 ms range obj: 7.26 ms
Output for 7.4.33
2 vars: 1.53 ms range arr: 3.48 ms range obj: 7.67 ms
Output for 7.4.32
2 vars: 3.1 ms range arr: 7.19 ms range obj: 9.24 ms
Output for 7.4.30
2 vars: 1.53 ms range arr: 3.51 ms range obj: 7.68 ms
Output for 7.4.29
2 vars: 1.75 ms range arr: 3.59 ms range obj: 7.57 ms
Output for 7.4.28
2 vars: 1.54 ms range arr: 3.72 ms range obj: 8.35 ms
Output for 7.4.27
2 vars: 1.55 ms range arr: 3.65 ms range obj: 8.26 ms
Output for 7.4.26
2 vars: 1.47 ms range arr: 3.67 ms range obj: 8.49 ms
Output for 7.4.25
2 vars: 2.51 ms range arr: 3.6 ms range obj: 9.5 ms
Output for 7.4.24
2 vars: 1.6 ms range arr: 3.57 ms range obj: 8.09 ms
Output for 7.4.23
2 vars: 1.62 ms range arr: 3.54 ms range obj: 7.66 ms
Output for 7.4.22
2 vars: 1.61 ms range arr: 3.58 ms range obj: 7.71 ms
Output for 7.4.21
2 vars: 1.53 ms range arr: 3.55 ms range obj: 7.66 ms
Output for 7.4.20
2 vars: 1.48 ms range arr: 3.78 ms range obj: 7.87 ms
Output for 7.4.19
2 vars: 1.48 ms range arr: 3.63 ms range obj: 7.95 ms
Output for 7.4.18
2 vars: 1.51 ms range arr: 3.6 ms range obj: 7.58 ms
Output for 7.4.16
2 vars: 1.5 ms range arr: 3.79 ms range obj: 7.72 ms
Output for 7.4.15
2 vars: 3.12 ms range arr: 7.59 ms range obj: 8.03 ms
Output for 7.4.14
2 vars: 1.43 ms range arr: 3.62 ms range obj: 8.64 ms
Output for 7.4.13
2 vars: 1.56 ms range arr: 3.73 ms range obj: 7.62 ms
Output for 7.4.12
2 vars: 1.43 ms range arr: 3.73 ms range obj: 7.66 ms
Output for 7.4.11
2 vars: 1.51 ms range arr: 3.61 ms range obj: 7.58 ms
Output for 7.4.10
2 vars: 1.43 ms range arr: 3.7 ms range obj: 8.4 ms
Output for 7.4.9
2 vars: 1.45 ms range arr: 3.72 ms range obj: 7.86 ms
Output for 7.4.8
2 vars: 2.96 ms range arr: 7.53 ms range obj: 13.01 ms
Output for 7.4.7
2 vars: 1.53 ms range arr: 3.68 ms range obj: 10.51 ms
Output for 7.4.6
2 vars: 1.61 ms range arr: 5.6 ms range obj: 12.2 ms
Output for 7.4.5
2 vars: 1.53 ms range arr: 3.74 ms range obj: 7.55 ms
Output for 7.4.4
2 vars: 1.52 ms range arr: 3.66 ms range obj: 7.74 ms
Output for 7.4.3
2 vars: 1.59 ms range arr: 3.59 ms range obj: 7.93 ms
Output for 7.4.2
2 vars: 1.66 ms range arr: 3.71 ms range obj: 7.89 ms
Output for 7.4.1
2 vars: 2.6 ms range arr: 4.59 ms range obj: 7.6 ms
Output for 7.4.0
2 vars: 1.56 ms range arr: 4.11 ms range obj: 7.81 ms
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33
Parse error: syntax error, unexpected 'int' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /in/CMktE on line 6
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
Parse error: syntax error, unexpected 'int' (T_STRING), expecting variable (T_VARIABLE) in /in/CMktE on line 6
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in /in/CMktE on line 6
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE in /in/CMktE on line 6
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CMktE on line 6
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CMktE on line 6
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/CMktE on line 6
Process exited with code 255.

preferences:
49.54 ms | 571 KiB | 5 Q