3v4l.org

run code in 300+ PHP versions simultaneously
<?php function random_index(array $source) { $max = count($source) - 1; $r = random_int(0, $max); $k = array_keys($source); return $k[$r]; } $array = [ 'apple' => 1234, 'boy' => 2345, 'cat' => 3456, 'dog' => 4567, 'echo' => 5678, 'fortune' => 6789 ]; $i = random_index($array); var_dump([$i, $array[$i]]);
Output for 7.0.5, 7.0.11, 7.0.22, 7.0.24, 7.0.26 - 7.0.27, 7.1.8, 7.1.19, 7.1.26, 7.1.33, 7.2.4, 7.2.9, 7.2.13 - 7.2.14, 7.2.16 - 7.2.18, 7.2.22, 7.2.29, 7.2.32, 7.3.1, 7.3.5 - 7.3.6, 7.3.8, 7.3.14 - 7.3.15, 7.3.23, 7.4.2 - 7.4.3, 7.4.21 - 7.4.22, 8.0.11, 8.0.19, 8.0.22, 8.0.28 - 8.0.29, 8.1.0, 8.1.7, 8.1.13 - 8.1.14, 8.1.16, 8.2.7
array(2) { [0]=> string(4) "echo" [1]=> int(5678) }
Output for 7.0.20, 7.0.28 - 7.0.29, 7.1.6 - 7.1.7, 7.1.10, 7.1.12 - 7.1.13, 7.1.25, 7.2.0 - 7.2.1, 7.2.5, 7.2.15, 7.2.31, 7.3.0, 7.3.10, 7.3.13, 7.3.17 - 7.3.18, 7.3.21, 7.3.25, 7.3.32, 7.4.10, 7.4.15, 7.4.18, 7.4.24, 7.4.27, 7.4.29 - 7.4.33, 8.0.13, 8.0.17, 8.0.24, 8.1.8, 8.1.10, 8.1.12, 8.1.15, 8.2.1, 8.2.6
array(2) { [0]=> string(3) "cat" [1]=> int(3456) }
Output for 7.0.0, 7.0.9, 7.0.16, 7.0.18, 7.0.25, 7.1.3, 7.1.5, 7.1.11, 7.1.16 - 7.1.18, 7.1.20, 7.1.23, 7.1.30 - 7.1.31, 7.2.6 - 7.2.7, 7.2.19 - 7.2.20, 7.2.23, 7.2.26, 7.2.28, 7.2.33, 7.3.4, 7.3.16, 7.3.27 - 7.3.28, 7.3.30 - 7.3.31, 7.4.8, 7.4.13 - 7.4.14, 7.4.19, 7.4.23, 8.0.5, 8.0.7, 8.0.23, 8.1.4 - 8.1.5, 8.1.11, 8.1.17 - 8.1.18, 8.2.5
array(2) { [0]=> string(5) "apple" [1]=> int(1234) }
Output for 7.0.1, 7.0.7, 7.0.10, 7.0.15, 7.0.17, 7.0.19, 7.0.23, 7.0.30, 7.1.24, 7.1.27, 7.2.8, 7.2.10, 7.2.21, 7.2.24, 7.2.27, 7.3.2 - 7.3.3, 7.4.1, 7.4.4, 7.4.11, 7.4.20, 7.4.25 - 7.4.26, 7.4.28, 8.0.2, 8.0.9 - 8.0.10, 8.0.16, 8.0.20 - 8.0.21, 8.1.3, 8.2.4
array(2) { [0]=> string(3) "dog" [1]=> int(4567) }
Output for 7.0.2, 7.0.8, 7.0.12 - 7.0.13, 7.0.21, 7.0.32 - 7.0.33, 7.1.2, 7.1.4, 7.1.29, 7.2.2, 7.2.34, 7.3.11 - 7.3.12, 7.3.24, 7.3.33, 7.4.5, 7.4.7, 7.4.12, 7.4.16, 8.0.6, 8.0.8, 8.0.15, 8.0.25 - 8.0.26, 8.1.1 - 8.1.2, 8.1.6, 8.1.19 - 8.1.20, 8.2.2 - 8.2.3
array(2) { [0]=> string(3) "boy" [1]=> int(2345) }
Output for 7.0.3 - 7.0.4, 7.0.6, 7.0.14, 7.0.31, 7.1.0 - 7.1.1, 7.1.9, 7.1.14 - 7.1.15, 7.1.21 - 7.1.22, 7.1.28, 7.1.32, 7.2.3, 7.2.11 - 7.2.12, 7.2.25, 7.2.30, 7.3.7, 7.3.9, 7.3.19 - 7.3.20, 7.3.22, 7.3.26, 7.3.29, 7.4.0, 7.4.6, 7.4.9, 8.0.0 - 8.0.1, 8.0.3, 8.0.12, 8.0.14, 8.0.18, 8.0.27, 8.1.9, 8.2.0
array(2) { [0]=> string(7) "fortune" [1]=> int(6789) }
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Call to undefined function random_int() in /in/1joB1 on line 5
Process exited with code 255.

preferences:
209.19 ms | 402 KiB | 312 Q