Visualizzazione risultati 1 fino 3 di 3

Discussione: Creare un sistema random di frasi

  1. #1
    Guest

    Predefinito Creare un sistema random di frasi

    Buongiorno a tutti :)
    Ho un sito, e vorrei che ogni volta che si aggiorna una pagina, compaia una frase diversa. Da bravo novellino ho creato un sistema tipo:
    Codice PHP:
    $numero = rand(1, 3)

    switch(
    $numero)
    {
    case
    $numero == 1;
    echo
    "Uno";
    break;

    case
    $numero == 2;
    echo
    "Due";
    break;

    case
    $numero == 3;
    echo
    "Tre";
    break;
    }
    Ma immagino che non sia affatto il modo più facile (soprattutto quando ho 170 frasi e devo scrivere 170 case $numero). Come si fa, in PHP, a estrarre da un file .txt, dove ci sono tutte le frasi divise sono da un a capo (senza righe vuote) a random?
    Grazie mille e buona giornata :)

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,691

    Predefinito

    Codice PHP:
    $frasi = file('frasi.txt', FILE_IGNORE_NEW_LINES); //$frasi è un array contenente una frase ad ogni posizione. Il secondo parametro è un flag che indica di non tenere i "\n" alla fine di ogni linea (documentazione in inglese per approfondimenti e altri flag)
    $indice_random = array_rand($frasi); //restituisce un indice casuale dell'array. Se l'array è lungo "n", restituisce un numero da "0" a "n-1"
    echo $frasi[$indice_random];
    Documentazione: file(), array_rand().

    Nota che si sarebbe potuta evitare la variabile "$indice_random", mettendo direttamente la array_rand() tra le quadre dell'array. Così però mi pare più semplice "didatticamente".

    Ciao!
    Ultima modifica di alemoppo : 29-01-2014 alle ore 13.23.59

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Codice PHP:
    $frasi = file('frasi.txt', FILE_IGNORE_NEW_LINES); //$frasi è un array contenente una frase ad ogni posizione. Il secondo parametro è un flag che indica di non tenere i "\n" alla fine di ogni linea (documentazione in inglese per approfondimenti e altri flag)
    $indice_random = array_rand($frasi); //restituisce un indice casuale dell'array. Se l'array è lungo "n", restituisce un numero da "0" a "n-1"
    echo $frasi[$indice_random];
    Documentazione: file(), array_rand().

    Nota che si sarebbe potuta evitare la variabile "$indice_random", mettendo direttamente la array_rand() tra le quadre dell'array. Così però mi pare più semplice "didatticamente".

    Ciao!
    Grazie mille, gentilissimo :)
    Buona serata!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •