Visualizzazione risultati 1 fino 3 di 3

Discussione: lo zero

  1. #1
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Red face lo zero

    Ciao a tutti.
    Ho un problemino per quanto riguarda lo zero. Volevo aggiungere uno zero in un ciclo e ho scritto questo script:
    Codice PHP:
    <?php

    for($i=1;$i<32;$i++){
    printf('%02d', $i);
    echo
    "<option value=\"" . $i . "\">" . $i . "</option>\n";
    }

    ?>
    Funziona, ma me lo esegue solo sulla prima variabile, non nella seconda (che è sempre quella $i).
    Cioè ottengo 01 1 02 2 03 3 04 4
    Perchè ?
    Ho bisogno di avere lo zero anche nella seconda $i.
    Come potrei fare ?
    Grazie

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

    Predefinito

    Perché lo trasforma in intero, quindi 01 -> 1.

    Una soluzione è far così:
    Codice PHP:
    for($i=1;$i<32;$i++){
    $str = $i<10?'0'.$i:$i;
    echo
    "<option value=\"" . $str . "\">" . $str . "</option>\n";
    }
    Ho usato un'altra variabile perché non mi piace molto trasformare $i in stringa per poi incrementare una stringa (nel for).

    Se proprio non vuoi usare un'altra variabile, un modo è far così:
    Codice PHP:
    for($i=1;$i<32;$i++){
    echo
    "<option value=\"" . $i<10?'0'.$i:$i; . "\">" . $i<10?'0'.$i:$i; . "</option>\n";
    }
    Però impiega più tempo di elaborazione (ovviamente trascurabile).

    Ciao!

  3. #3
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Predefinito

    Ottimo. Sono senza parole. Sei un grande.
    Buon fine settimana

Regole di scrittura

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