Programkode for lottotrekk

Brukt i saka: Eit hundre tusen lottokombinasjonar kjem på stiv pris: Sjansen er framleis syltynn

Slik brukar du programkoden:

  1. Lagre: Lagre koden i ei tekstfil med namnet generer_lotto.php.
  2. Plasser: Last opp fila til eit PHP-miljø.
  3. Køyr: Opne fila i nettlesaren din (f.eks., http://localhost/generer_lotto.php).
  4. Resultat: Du finn den ferdige fila norsk_lotto_trekk.csv i same mappe som PHP-scriptet. Denne fila kan du importere direkte i Numbers eller Excel. Den inneheld 100 000 unike lotterikombinasjonar tilsvarande 10 000 kupongar.
<?php

// Konfigurasjon
$filnavn = 'norsk_lotto_trekk.csv';
$antall_trekk = 100000;
$max_tall = 34;
$antall_hovedtall = 7;
$antall_tilleggstall = 3;

// Overskrifter
$overskrifter = ['Trekknummer'];
for ($i = 1; $i <= $antall_hovedtall; $i++) {
    $overskrifter[] = "Hovedtall_" . $i;
}
for ($i = 1; $i <= $antall_tilleggstall; $i++) {
    $overskrifter[] = "Tilleggstall_" . $i;
}

// Åpne filen for skriving
$fil = fopen($filnavn, 'w');

if ($fil === false) {
    die("❌ Klarte ikke å åpne filen $filnavn for skriving. Sjekk filrettigheter.");
}

// Sett skilletegnet til semikolon (vanlig i norsk Excel)
$delimiter = ';';

// Skriv overskriftene
fputcsv($fil, $overskrifter, $delimiter);

// Generer data
for ($i = 1; $i <= $antall_trekk; $i++) {
    // 1. Lag en liste med alle tall fra 1 til 34
    $alle_tall = range(1, $max_tall);

    // 2. Trekk 7 unike hovedtall
    shuffle($alle_tall);
    $hovedtall = array_slice($alle_tall, 0, $antall_hovedtall);
    sort($hovedtall); // Sorter for ryddighet

    // 3. Finn de resterende tallene for tilleggstall
    $resterende_tall = array_slice($alle_tall, $antall_hovedtall);
    
    // 4. Trekk 3 unike tilleggstall fra de resterende
    shuffle($resterende_tall);
    $tilleggstall = array_slice($resterende_tall, 0, $antall_tilleggstall);
    sort($tilleggstall); // Sorter for ryddighet

    // 5. Sett sammen raden og skriv til CSV
    $rad = array_merge([$i], $hovedtall, $tilleggstall);
    fputcsv($fil, $rad, $delimiter);
}

// Lukk filen
fclose($fil);

echo "✅ Generering fullført! Filen **$filnavn** med $antall_trekk rader er lagret.";

?>