Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di madquake
    Registrato dal
    Jun 2008
    residenza
    Manchester
    Messaggi
    85

    Randomizzare la visualizzazione di un array

    Salve a tutti...
    Sto imparando a utilizzare php e sto facendo i classici esperimentini stupidi che di sicuro voi vedrete come i primi passi del bambino rispetto a Usain Bolt...

    Quello che vorrei creare [ma non ci riesco nella maniera piu assoluta] è un ciclo che mi consenta di stampare a caso ciò che si trova in un array.

    Penso che per comodità sia meglio se posto il codice... magari può servire a qualcun altro che si trova nella mia condizione...




    <?php


    $fruits = array("apple", "pear", "banana", "strawberry", "blackbarry");
    $fruits[] = "pinapple";


    foreach ($fruits as $a => $b){
    $a++;
    print "$a - $b<br>";
    }


    foreach ($fruits as $a => $b){
    $a++;
    //Il ciclo è annidato... se i valori sono pari stampali col <b> BOLD, altrimenti stampali normali.
    if ( $a & 1 )
    {
    print "<b>$a - $b</b><br>";
    } else {
    print "$a - $b<br>";
    }
    }

    print "<p>"

    $total = count($fruits);


    print "Il totale degli argomenti dell'array " . '$fruits' . "è: $total<br><p>";


    function randomizza($randoma)
    {
    $risultato = rand(0, $randoma);
    return $risultato;
    }

    print "La funzione " . 'randomizza($randoma)' . " ha generato un valore di: " . randomizza($total);

    //DA QUI IN POI SO DI AVER COMBINATO UN DISASTRO!!!

    //Creo un ciclo while in cui una variabile chiamata contatore [che verrà definita all'interno del ciclo stesso] dovrà essere inferiore alla variabile $total che definisce il numero totale degli argomenti dell'array $fruits
    while($contatore>$total)
    {
    //$contaOra genera un numero random che va da 0 al valore degli argomenti di $fruits [chiamto $total]
    $contaOra = randomizza(0, $total);
    $contaTutto = array();

    if($contaOra != (foreach ($contatutto as $c => $d){
    return "$c";
    })){
    print "$fruits[$contaOra]";
    $contaTutto[] = $contaOra;
    $contatore++;
    }
    }

    ?>


    Vi ringrazio moltissimo per i consigli che mi darete... Se ho sbagliato a postare il codice direttamente nel forum vi prego di comunicarmelo...

    Grazie ancora
    A presto!

  2. #2
    Utente di HTML.it L'avatar di madquake
    Registrato dal
    Jun 2008
    residenza
    Manchester
    Messaggi
    85
    P.s. Ho fatto un ignobile tentativo... ma me ne vergogno!!!!

  3. #3
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Quote Originariamente inviata da madquake Visualizza il messaggio
    P.s. Ho fatto un ignobile tentativo... ma me ne vergogno!!!!
    Cioè vorresti riscrivere una funzione PHP che già esiste?

    http://uk1.php.net/manual/en/function.shuffle.php

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Ti propongo una soluzione in estemporanea

    Codice PHP:
    <?php                
           
    function Scambia(&$a,&$b){
                
    $temp=$a;
                
    $a=$b;
                
    $b=$temp;
          }

          function 
    Mescola($array){
                
    $dim count($array);
                
    $scambi 2$dim;
                for(
    $i=0;$i<$scambi;$i++){
                    
    $ka rand(0$dim-1);
                    
    $kb rand(0$dim-1);
                    if(
    $ka!=$kb)
                        
    Scambia($array[$ka], $array[$kb]);
               }
               return 
    $array;
            }
     
           
    $fruits = array("apple""pear""banana""strawberry""blackbarry");        
           
    $fruits[] = "pinapple";
          
           
    $mescolato Mescola($fruits);
           foreach (
    $mescolato as $frutto)
                echo 
    "$frutto; ";
    ?>
    Ultima modifica di Grino; 05-12-2013 a 12:40
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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 © 2025 vBulletin Solutions, Inc. All rights reserved.