3v4l.org

run code in 300+ PHP versions simultaneously
<?php function fillRandom($range, $num = 1, $value = TRUE, $data = array(), $anon = NULL) { if (empty($data)) $data = array_fill($range[0], $range[1]+1, FALSE); if ($anon === NULL) { $anon = function($el) use($value) { return $el !== $value; }; } for ($i=0; $i<$num; $i++) { do { $key = mt_rand($range[0], $range[1]); } while (isSet($data[$key]) && !$anon($data[$key])); $data[$key] = $value; } return $data;}print "<pre>";$input = fillRandom(array(0, 5), 4);ksort($input);print_r($input);$input = fillRandom(array(0, 5), 2, 2, $input, function($el){ return $el === TRUE;});ksort($input);print_r($input);

preferences:
32.09 ms | 402 KiB | 5 Q