Random number generator that always chooses a different number each time. For WordPress
<?php
// For use with WordPress
// Saves the previously used number as an option named "rp_random_num"
function get_unique_random_number($range_max){
// Get the saved number
$saved_random_number = get_option('rp_random_num');
if( !isset($saved_random_number) ){
$saved_random_number = rand(0, $range_max - 1);
}
// Generate random number until it doesn't match
// the previously set number (if it exists at all)
do {
$random_number = rand(0, $range_max - 1);
} while ( $random_number == $saved_random_number );
// Set previous number for next run through
update_option('rp_random_num', $random_number);
return $random_number;
}
/** Usage **/
// define some items to randomly choose from in an array
$items = array(
"item1",
"item2",
"item3",
"item4",
"item5",
);
// pick one of those items at random
$random_num = get_unique_random_number( count($items) );
$random_item = $items[$random_num];