• PHP Deel 7: Praktische Toepassing

    2 March 2011 01:36 door
    De vorige delen leerden ons wat basis PHP aan. Natuurlijk horen we dit nu te oefenen. Hieronder zal ik een aantal praktijk voorbeelden geven. Probeer zelf ook makkelijke dingen te maken zodanig dat je deze basis goed begrijpt.



    Indien ik gebruik maak van een nieuwe functie dan zal onder de code altijd een link naar php.net staan. Het is namelijk de bedoeling dat je de informatie op php.net leert begrijpen en gebruiken.

    Deze praktische toepassingen zullen zoveel mogelijk de voorgaande hoofdstukken centraal zetten namelijk:
    • PHP deel 1: Basis
    • PHP deel 2: Variabelen
    • PHP deel 3: Operators
    • PHP deel 4: Controlestructuren
    • PHP deel 5: Array's
    • PHP deel 6: Functies

    6.1 Willekeurige winnaar
    We zorgen met één grote toepassing waarin meerdere kleine toepassingen aan bod komen, zodat we zoveel mogelijk kunnen laten zien hoe het er in de praktijk aan toe gaat. Eveneens proberen we je een beeld te geven hoe je de PHP die je geleerd hebt best kunt toepassen.

    Dit php script gaat ons uit een array een winnaar selecteren. Het script vind je hieronder met de benodigde uitleg in de comments.

    PHP-code:
    <?php
    /**
     * Select Winner!
     * ---
     * @Description        Selecteert random een persoon uit een array!
     * @author             Kurt Aerts (kurt0015)
     * @link               https://www.webincreations.com/
     */

    /*
        Hieronder maken we een array waar we alle personen
        in een lijstje zetten. We gebruiken de key als naam
        v.d. persoon en de value als het aantal kansen dat
        deze persoon maakt.
    */
    $persons = array(
        
    'Stefan' => 1,
        
    'Kurt' => 1,
        
    'Piet' => 1,
        
    'Jos' => 4,
        
    'Dorien' => 6,
        
    'Anne' => 1,
        
    'Sophie' => 1
    );

    /*
        Functie maken die ons het resultaat terug zal geven in een string.
        We geven de functie een array mee met personen en de kansen.
    */

    function selectWinner($persons)
    {
        
    # Aantal keren kansen extra toevoegen voor mensen die meer kansen hebben.
        
    foreach($persons as $naam => $keerKans)
        {
            
    # Persoon staat namelijk al 1x in de lijst!
            
    $keerKans $keerKans-1;

            
    # Doorlopen aantal kansen!
            
    for($i=0$i<=$keerKans$i++)
                
    $gamePersons[] = $naam// persoon aan array toevoegen
        
    }

        
    # Personen array ook nog eens door elkaar gooien!
        
    shuffle($gamePersons);

        
    # Omdat PHP arrays vanaf 0 beginnen tellen we altijd 1tje van het tellen af!
        
    $numberOfPersons count($gamePersons)-1;

        
    # Zeker zijn dat het echt random is, (int) zorgt er voor dat we zeker een integer hebben
        
    mt_srand ((int)microtime());

        
    # Geef willekeurig 1 persoon eruit die gewonnen heeft.
        
    $winnerKey mt_rand(0$numberOfPersons);

        
    # Winnaar terug geven!
        
    return $gamePersons[$winnerKey];
    }

    /*
        We geven de winnaar weer door onze functie uit te voeren
        Eveneens zorgen we voor een wit regel dmv de \n
    */
    echo '<p><h1>De winnaar is: '.selectWinner($persons)."<br />\n".'Gefeliciteerd!</h1>'."</p>\n\n";

    /*
        We halen hier de datum en tijd op d.m.v. PHP functies.
    */
    echo '<p>De winnaar werd geselecteerd op '.date('l, j F Y').' om '.date('H:i:s').'</p>';

    ?>
    PHP Documentatie bronnen


    Geschreven door: Aerts Kurt.