3v4l.org

run code in 300+ PHP versions simultaneously
<?php function array_rand_cryptographically_secure(array $array): int|string { if (!$array) { throw new ValueError ('Argument #1 ($array) cannot be empty'); } return key(array_slice($array, random_int(0, count($array) - 1), 1, true)); } $tests = [ [5, 6, 7], ['a' => 1, 'b' => 2, 'c' => 3], ['zero', 4 => 'four', 9 => 'nine'] ]; foreach ($tests as $test) { echo array_rand_cryptographically_secure($test) . "\n"; }
Output for 8.1.5
1 a 4
Output for 8.0.5, 8.1.4
2 c 0
Output for 8.1.3
1 c 0
Output for 8.1.2
2 b 4
Output for 8.0.8, 8.1.1
0 a 0
Output for 8.0.3, 8.0.16, 8.0.18, 8.1.0
1 c 9
Output for 8.0.17
0 c 4
Output for 8.0.15
0 b 0
Output for 8.0.14
2 c 9
Output for 8.0.13
2 a 0
Output for 8.0.12
1 c 4
Output for 8.0.11
0 c 0
Output for 8.0.10
2 a 4
Output for 8.0.9
0 a 4
Output for 8.0.7
1 a 0
Output for 8.0.6
2 c 4
Output for 8.0.2
2 a 9
Output for 8.0.1
2 b 0
Output for 7.4.0 - 7.4.29
Parse error: syntax error, unexpected '|', expecting '{' in /in/s8oa4 on line 3
Process exited with code 255.

preferences:
32.38 ms | 433 KiB | 5 Q