Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Ciclo For

  1. #1

    Ciclo For

    Ciao, il mio problema riguarda due modi diversi di scrivere una variabile.
    Perchè se scrivo:
    Codice PHP:
    for ($mul 1$mul <= 10$mul++ ) { 
    $ris $mul
    echo 
    "5 * $mul = $ris 
    "


    oppure
    Codice PHP:
    for ($mul 1$mul <= 10; ++$mul) {
    $ris $mul;
    echo 
    "5 * $mul = $ris 
    "
    ;

    ottengo lo stesso risultato?Sbaglio o ++$mul e $mul++ sono due cose diverse?Se scrivo $mul++ il ciclo non dovrebbe ripetersi all'infinito dato che la variabile resterebbe sempre uguale a 1?

  2. #2
    La sintassi corretta è:
    for ($mul = 1; $mul <= 10; $mul++ ) { ......
    L'ho provata e funziona perfettamente, ad ogni ciclo la variabile $mul viene incrementata di uno.
    L'altro sistema (++$mul) non lo conosco e non mi permetto di esprimere nulla.
    Ciao

  3. #3
    Originariamente inviato da Mariuccia1970
    La sintassi corretta è:
    for ($mul = 1; $mul <= 10; $mul++ ) { ......
    L'ho provata e funziona perfettamente, ad ogni ciclo la variabile $mul viene incrementata di uno.
    L'altro sistema (++$mul) non lo conosco e non mi permetto di esprimere nulla.
    Ciao
    Io sapevo che il metodo giusto era ++$mul come scritto qui; http://php.html.it/guide/lezione/2646/le-espressioni/
    C'è scritto esattamente:
    $a = 10;
    $b = 10;
    ++$a; // incrementiamo $a, che diventa 11; l'espressione vale 11
    $b++; // anche $b diventa 11; qui però l'espressione vale 10
    A questo punto mi chiedo, ma se il secondo metodo($mul++) aumenta la variabile ma stampa sempre lo stesso valore, come è possibile ottenere lo stesso risultato di ++$mul?
    Grazie

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Dentro la condizione di un for, scrivere $mul++ o ++$mul non fa alcuna differenza, come hai già sperimentato.

    Si tratta di post-incremento ($mul++) e pre-incremento(++$mul)

    Un esempio per farti capire dove c'è differenza
    Codice PHP:
    $a 8;
    $b $a++;

    echo 
    $a//stampa 9
    echo $b//stampa 8 perché $a viene incrementata dopo l'assegnazione

    $a 8;
    $b = ++$a;

    echo 
    $a//stampa 9
    echo $b//stampa 9 perché $a viene incrementata prima dell'assegnazione 

  5. #5
    Io ho sempre usato $mul++ ma ho visto che funziona anche l'altro caso ossia ++$mul.
    Ho fatto il seguente codice e funziona perfettamente in entrambi i casi:
    for ($mul = 1; $mul <= 10; ++$mul) //oppure $mul++
    {
    echo "$mul
    ";
    }
    a te la scelta.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.