Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function generate_new_numbers()
- {
- $numbers = array();
- // Generate 6 numbers
- for ($i = 0; $i < 6; $i++)
- {
- // Check for duplicates first
- $check = false;
- while (!$check)
- {
- $temp = mt_rand(1, 49);
- if (!in_array($temp, $numbers))
- {
- // Then add the number in the array
- $numbers[] = $temp;
- $check = true;
- }
- }
- }
- return $numbers;
- }
- // Return how many numbers from
- // array $a1 exist in array $a2
- function check_numbers($a1, $a2)
- {
- $i = 0;
- foreach ($a1 as $val)
- if (in_array($val, $a2))
- $i += 1;
- return $i;
- }
- // Return how many tickets have $x winning numbers
- function winning_tickets_nr($arr, $x)
- {
- $i = 0;
- foreach ($arr as $key => $value)
- if ($value == $x)
- $i += 1;
- return $i;
- }
- // Add spaces after each 3 digits to make
- // the given number easily readable
- function format_big_nr($bigint)
- {
- $temp = '';
- $bigint = intval($bigint);
- while ($bigint > 999)
- {
- $nrtostr = strval($bigint);
- $temp .= ' ' . substr($nrtostr, strlen($nrtostr)-3, 4);
- $bigint = intval($bigint / 1000);
- }
- $bigint = $bigint . $temp;
- return $bigint;
- }
- // Generate a random winning ticket
- $winning_ticket = generate_new_numbers();
- // How many tickets to generate
- $tickets_to_gen = isset($_GET['nr']) ? intval($_GET['nr']) : 1;
- // The generated tickets
- $tickets_gened = array();
- // Generate the random tickets
- // based on $tickets_to_gen
- for ($i = 0; $i < $tickets_to_gen; $i++)
- {
- $new_nrs = generate_new_numbers();
- $tickets_gened[implode(', ', $new_nrs)] = check_numbers($new_nrs, $winning_ticket);
- }
- // Show the results
- echo 'Numar de bilete generate: '. format_big_nr($tickets_to_gen) .'<br />';
- echo 'Numar de bilete cu 3 nr. castigatoare: '. winning_tickets_nr($tickets_gened, 3) .'<br />';
- echo 'Numar de bilete cu 4 nr. castigatoare: '. winning_tickets_nr($tickets_gened, 4) .'<br />';
- echo 'Numar de bilete cu 5 nr. castigatoare: '. winning_tickets_nr($tickets_gened, 5) .'<br />';
- echo 'Numar de bilete cu 6 nr. castigatoare: '. winning_tickets_nr($tickets_gened, 6) .'<br />';
- echo '<br />Numerele extrase: '. implode(', ', $winning_ticket) .'<br />';
- // Show the winning tickets with 6 numbers
- // if there are any
- if (winning_tickets_nr($tickets_gened, 6) > 0)
- {
- echo 'Biletele cu 6 nr. castigatoare:';
- foreach ($tickets_gened as $key => $value)
- if ($value == 6)
- echo " $key ;";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment