Lottery Number Generator (6 - 49)

Submitted by Richard Sheppard on Wed, 26/04/2006 - 17:12

Code from a while back

I must have written this about five years ago, when I wanted to break away from using only Dreamweaver behaviours to produce the clever stuff in PHP.

With our new content management system, I've discovered that I can throw in snippets of PHP code that will execute. The best of both worlds, it would seem to me!

So below you will find six numbers to play in a Lotto 6-59 game (like the UK's National Lottery).

Tonight's winning numbers are....

Ball Number 1 is 11.

Ball Number 2 is 46.

Ball Number 3 is 1.

Ball Number 4 is 13.

Ball Number 5 is 52.

Ball Number 6 is 36.

Everytime you visit this page, you will have a different set of numbers. Don't believe me? Click here to refresh the page.

The code that generates this looks like this (with comments to help):

<?php
// initialise array
Array = array ();

// fill the array from 1 to 49, emulating the filling of the bin
for($count 1$count <= 49$count++){
  
array_push($lottoNum,$count);
}

/**
 * First, we shuffle. Take the new first number and then
 * take it out of the array with array_shift set the bin
 * spinning again with the shuffle function.
 *
 * Ultimately, we become millionaires. I get 10% of all
 * winnings if you use this code and win. ;-)
 */

for($index 1$index <= 6$index++){
  
shuffle($lottoNum);
  print(
"<p>Ball Number <strong>$index</strong> is <strong>$</strong>. /p>
"
);
  
array_shift($lottoNum);
}
?>

My friend Greg and I were examining the entertaining conversations regarding the shuffle() function at http://www.php.net/manual/en/function.shuffle.php and Greg pointed out that my bit of code here doesn't quite satisfy the Fisher Yates shuffle requirements, but what did they know? Neither of them ever won the lottery, did they?

27 June 2008

I thought I'd better do a version for the EuroMillions:

EuroMillions example

Number 1 is 49.

Number 2 is 38.

Number 3 is 31.

Number 4 is 34.

Number 5 is 17.

Lucky Star 1 is 3.

Lucky Star 2 is 7.

Richard Sheppard

Wed, 26/04/2006 - 19:05

A friend just pointed out while I had the web applications caching turned on the numbers didn't change. For the time being, I've disabled the caching, just so I can show off.

Anonymous (not verified)

Fri, 20/08/2010 - 18:08

Thanks alot for this little snippet. Very helpful for my project.

Anonymous (not verified)

Fri, 08/10/2010 - 15:51

I WON 13 MILLION DOLLARS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Add new comment

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.