get an array containing random integers between $min and $max integers
Trying to pick up random keys from an array but don’t want any duplicates?
try this
<?php //returns an array of random keys between 2 numbers function &UniqueRands($min, $max, $keys, $reset=true){ static $returnme = array(); if($reset) $returnme = array(); //while is used to avoid recursive the whole function while(in_array($x = rand($min,$max),$returnme)); $returnme[] = $x; //$keys are the number of random integers in the array //must not be more than the sub of max - min if($keys >= count($returnme) && count($returnme) <= ($max-$min)) UniqueRands($min, $max, $keys,false); return $returnme; } //usage $rands = & UniqueRands(0, 100, 30); print_r($rands); //with an array $vararry = array('red', 'blue', 'green', 'yellow','black'); $rands = & UniqueRands(0, count($vararry)-1, 3); foreach($rands as $x) echo "$vararry[$x],"; ?>
