Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP] Problema foreach e while in $variabile[]

  1. #1
    Guest

    Post [PHP] Problema foreach e while in $variabile[]

    Ciao a tutti, da poco uso il foreach (funzione di php ^^) e mi trovo davanti a questo problema:
    ho una lista..
    Codice PHP:
    $cat[] = "cat1";
    $cat[] = "cat2";
    $cat[] = "cat3";
    Che ho fatto invece di farla con mysql l'ho fatta in php e questo è il problema:
    Codice PHP:
    echo "<select name=\"categoria\" class=\"select\">";
    $i = 0;
    foreach(
    $cat[$i] as $categoria) { while($categoria) { echo "<option value=\"$categoria\">&raquo; $categoria</option>"; } }
    echo
    "</select><br />
    Ma il "<select>" è bianco..non spunta niente...perchè? Dove stro sbagliando? Grazie 1000...ciao Davide! ^^

  2. #2
    Guest

    Predefinito

    Codice PHP:
    foreach($cat as $categoria){
    echo
    '<option value="'.$categoria.'">'.$categoria.'</option>';
    }

    Ciao!

  3. #3
    Guest

    Predefinito

    Altrimenti puoi usare for():

    Codice PHP:
    $cat = array('cat1', 'cat2', 'cat3');

    $cat_tot = count($cat);

    print
    '<select name="categoria" class="select">';

    for(
    $n = 0; $n < $cat_tot; $n++)
    {
    print
    '<option value="' . $cat[$n] . '">&raquo; ' . $cat[$n] . '</option>';
    }
    print
    '</select><br />';

    ?>

  4. #4
    Guest

    Predefinito

    Sì, potrebbe usare anche for, ma per più di un motivo, soprattutto in questo caso, è meglio usare foreach.


    Ciao!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Sì, potrebbe usare anche for, ma per più di un motivo, soprattutto in questo caso, è meglio usare foreach.


    Ciao!
    Per curiosità, informazione e poi perchè sono duro () potrei sapere il motivo?

  6. #6
    Guest

    Predefinito

    Bè, il primo motivo è perchè il contesto e l'esigenza di questo caso non necessita di conteggiare il numero di elementi dell'array.
    Un altro è che il for esegue 3 istruzioni per ogni ciclo anzichè una sola come il foreach.
    Poi viene usata un'ulteriore funzione, il count, che usando il foreach viene risparmiata.
    Insomma, più codice, più lavoro, più lentezza. Direi che è abbastanza ;)


    Ciao!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Bè, il primo motivo è perchè il contesto e l'esigenza di questo caso non necessita di conteggiare il numero di elementi dell'array.
    Un altro è che il for esegue 3 istruzioni per ogni ciclo anzichè una sola come il foreach.
    Poi viene usata un'ulteriore funzione, il count, che usando il foreach viene risparmiata.
    Insomma, più codice, più lavoro, più lentezza. Direi che è abbastanza ;)


    Ciao!
    Grazie infinite, ne terrò conto

  8. #8
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Sì, potrebbe usare anche for, ma per più di un motivo, soprattutto in questo caso, è meglio usare foreach.


    Ciao!
    Quoto e sottoscrivo, semanticamente è più significativo, il count viene implementato direttamente nel comando foreach che è stato creato appositamente per queste esigenze.Avrei usato il for (dato che si parlava di iterazione determinata) se ne volevo selezionare solo x di elementi, con x < numero di elementi in cat.
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

Regole di scrittura

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