Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    8

    Controllo della vincita' gioco del lotto

    Salve a tutti ho riscontrato un piccolo problema non riesco a fare il controllo della vincita in php... il gioco si basa sulla selezione dei numeri n ---- 3<n<10 questi numeri bisogna confrontarli con 20 numeri generati casualmente e qui spunta il problema che riesco solo a farlo con la funzione "array_intersect " pero quando faccio l'output vengo costretto a farlo con print_r ed esce una cosa brutta mostrando i numeri uguali cioe' quelli vincenti ma fa vedere pure la posizione nel array cosa non ammissibile in un gioco...
    Codice PHP:
    if(isset($_POST['selezione']))
    $selezione $_POST['selezione'];
    $count count($selezione);
    $array = array();

    foreach(
    $selezione as $numeri){  
    echo 
    $numeri '<br/>';  
    }

    if(
    $count<3)   
     echo 
    "<script type='text/javascript'>location.href='lotto.html';   alert('Seleziona almeno 3  numeri per giocare!');</script>";     
    else if(
    $count>10)    
     echo 
    "<script type='text/javascript'>location.href='lotto.html';    alert('Seleziona massimo 10 numeri per giocare!');</script>";
        
    else    for(
    $i=0;$i<20;$i++) {       
          
    $estratti = (rand(1,90));        

    if (! 
    in_array($estratti,$array)) {         
           
    $array[] = $estratti;          
      echo 
    $estratti '&nbsp;&nbsp;';        }} 
       echo 
    '<br>';   
     
    print_r($risultato array_intersect($selezione$array)); 
    Qui c'e' il codice se potete darmi una mano grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,354
    Prova il ciclo foreach che ti consente di percorrere un array e quindi ti consente di stampare a video ogni elemento.

    PS : print_r serve per il debug prevalentamente.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    8
    Grazie per la risposta ma la mia difficolta' non è quella di stampare un valore dell'array ma di confrontare array $selezione e $estratti ... una volta confrontati mi serva che stampi i valori uguali dei array

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,354
    Prova questo.

    Codice PHP:
    <?php
    //if(isset($_POST['selezione']))
    //$selezione = $_POST['selezione'];
    $selezione = array(1,2,3,4,5,6,7,8,9,10);
    $count     count($selezione);
    $array     = array();
    foreach(
    $selezione as $numeri){  
    echo 
    $numeri '<br/>';  
    }
    $numeri_da_estrarre = array();
    for (
    $i=1;$i<90;$i++)
    {
     
    $numeri_da_estrarre[$i] = $i;
    }
    $estratti = array();
    if(
    $count<3)  
    {
     echo 
    "<script type='text/javascript'>location.href='lotto.html';   alert('Seleziona almeno 3  numeri per giocare!');</script>"

    else 
    {
     if(
    $count>10
     {
      echo 
    "<script type='text/javascript'>location.href='lotto.html';    alert('Seleziona massimo 10 numeri per giocare!');</script>";  
     }   
     else
     {  
      
    $estratti array_rand($numeri_da_estrarre,20);        
     }
    }
      
    $risultato array_intersect($selezione$estratti);
    if (
    count($risultato) != 0)
    {
     print 
    "Hai beccato : <br/>";
     foreach (
    $risultato as $key => $value)
     {
      print 
    "$key => $value<br/>";
     }   
    }
    else
    {
     print 
    "Sfigato !!!";
    }
    Un consiglio. Usa sempre le { e } con gli if e affini. In effetti se per caso tu dovessi aggiungere un'istruzione diventerebbe un casino da modificare.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.