3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace std { function array_shift(array &$array): mixed { foreach ($array as $key => $item) { unset($array[$key]); return $item; } return null; } } namespace { $preflight = microtime(true); $foo = ['bar', 123, 'baz', true]; $start = microtime(true); var_dump(array_shift($foo), $foo); $end = microtime(true); printf("%0.6fs\n", $end - $start); $foo = ['bar', 123, 'baz', true]; $start = microtime(true); var_dump(std\array_shift($foo), $foo); $end = microtime(true); printf("%0.6fs\n", $end - $start); }
Output for 8.1.10
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000027s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000013s
Output for 8.1.9
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000027s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000016s
Output for 8.1.8
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000012s
Output for 8.1.7
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000029s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000015s
Output for 8.1.6
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000029s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000016s
Output for 8.1.5
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000027s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000014s
Output for 8.1.4
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000028s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000017s
Output for 8.1.3
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000013s
Output for 8.1.2
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000016s
Output for 8.1.1
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000032s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000017s
Output for 8.1.0
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000028s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000013s
Output for 8.0.23
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000023s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000015s
Output for 8.0.22
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000018s
Output for 8.0.21
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000029s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000021s
Output for 8.0.6, 8.0.19 - 8.0.20
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000029s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000020s
Output for 8.0.18
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000030s
Output for 8.0.17
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000024s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000016s
Output for 8.0.8, 8.0.16
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000015s
Output for 8.0.13, 8.0.15
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000017s
Output for 8.0.14
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000015s
Output for 8.0.12
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000017s
Output for 8.0.9, 8.0.11
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000016s
Output for 8.0.10
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000019s
Output for 8.0.7
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000027s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000020s
Output for 8.0.5
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000028s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000020s
Output for 8.0.3
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000030s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000021s
Output for 8.0.2
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000020s
Output for 8.0.1
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000028s string(3) "bar" array(3) { [1]=> int(123) [2]=> string(3) "baz" [3]=> bool(true) } 0.000021s
Output for 7.4.12 - 7.4.13, 7.4.16, 7.4.20, 7.4.26, 7.4.29 - 7.4.30
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000027s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.28
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000047s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.9 - 7.4.10, 7.4.14 - 7.4.15, 7.4.27
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000026s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.3, 7.4.18 - 7.4.19, 7.4.25
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000029s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.24
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000036s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.21 - 7.4.23
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000025s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.11
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000028s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.0 - 7.4.1, 7.4.4 - 7.4.5, 7.4.8
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000024s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.7
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.002465s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.6
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.001243s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.
Output for 7.4.2
string(3) "bar" array(3) { [0]=> int(123) [1]=> string(3) "baz" [2]=> bool(true) } 0.000039s Fatal error: Uncaught TypeError: Return value of std\array_shift() must be an instance of std\mixed, string returned in /in/7pONv:7 Stack trace: #0 /in/7pONv(22): std\array_shift(Array) #1 {main} thrown in /in/7pONv on line 7
Process exited with code 255.

preferences:
82.4 ms | 401 KiB | 68 Q