Tuesday, 23 January 2018

Daily changing random quotes

This example shows how to display a random quote that changes only daily, monthly or just every year.

This is much better than quotes that change on every page load because it is search engine friendly and does not confuse the visitors.

function RandomQuoteByInterval($TimeBase, $QuotesArray){

    // Make sure it is a integer
    $TimeBase = intval($TimeBase);

    // How many items are in the array?
    $ItemCount = count($QuotesArray);

    // By using the modulus operator we get a pseudo
    // random index position that is between zero and the
    // maximal value (ItemCount)
    $RandomIndexPos = ($TimeBase % $ItemCount);

    // Now return the random array element
    return $QuotesArray[$RandomIndexPos];
}

/*
** --> See the example section below for a
**     detailed instruction.
*/

// Use the day of the year to get a daily changing
// quote changing (z = 0 till 365)
$DayOfTheYear = date('z'); 
 
// You could also use:
//  --> date('m'); // Quote changes every month
//  --> date('h'); // Quote changes every hour
//  --> date('i'); // Quote changes every minute
 
// Example array with some random quotes
$RandomQuotes = array(
    'No animals were harmed in the making of this snippet.',
    'Nice snippets',
    'The modulus operator rocks!',
    'PHP is cool.'
);
 
print RandomQuoteByInterval($DayOfTheYear, $RandomQuotes);
 
// --> returns "PHP is cool." on September 25, 2007

0 comments:

Post a Comment