Visualizzazione dei risultati da 1 a 6 su 6

Discussione: While errore

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    67

    While errore

    Ciao, sono alle prime armi e ho realizzato un piccolo script:

    codice:
    <?php
    $a = 1;
    while ($a <= 3)
    print '<div class="thumb">[img]images/thumbnails/foto-'.$a++.'-thumb.jpg[/img]</div>';
    endwhile;		
    ?>
    Questo script mi da errore Parse alla riga dell'endwhile; dicendo "syntax error, unexpected T_ENDWHILE"

    Se cancello endwhile; nonostante la struttura sia sbagliata funziona, perché?

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    nel php non esiste endwhile

    il corpo dello while è delimitato dalle parentesi graffe

    Codice PHP:
     <?php
    $a 
    1;
    while (
    $a <= 3)
    {
    //inizio corpo while
         
    print '<div class="thumb">[img]images/thumbnails/foto-'.$a++.'-thumb.jpg[/img]</div>';
    }
    //fine corpo while ovvero endwhile        
    ?>

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: While errore

    Originariamente inviato da paglia_s "
    Se cancello endwhile; nonostante la struttura sia sbagliata funziona, perché?
    in teoria anche se è segno di buona programmazione mettere sempre le parentesi ne caso il corpo dello while sia di una sola istruzione come nel tuo caso è possibile evitare le parentesi

    ESEMPIO

    codice:
    while(condizione)
       istruzione1;
    istruzione2;
    in questo viene ciclata solo l'istruzione1 mentre l'istruzione2 verrà eseguita solo al termine del ciclo

    codice:
    while(condizione)
    {
       istruzione1;
       istruzione2;
    }
    entrambi le istruzioni vengo ciclate

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    67
    Strano...ho trovato questa sintassi proprio in una guida qui su php.html.it
    Grazie per il chiarimento

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    188
    premetto che non ho mai usato endwhile per terminare un ciclo while, ho sempre aperto e chiuso con le parentesi graffe.

    http://php.net/manual/en/control-structures.while.php

    la sintassi del seconto esempio è:

    Codice PHP:
    /* example 2 */

    $i 1;
    while (
    $i <= 10):
        echo 
    $i;
        
    $i++;
    endwhile; 
    while ($i <= 10):

    dopo l'istruzione, ci sono i :, mentre da te non ci sono. Potrebbe essere quello l'errore


    ps.
    mi scuso se ho detto una cavolata hehe, come ho premesso non ho mai utilizzato endwhile e non ho fatto alcuna prova

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non sapevo esistesse tale sintassi, ti sconsiglio tuttavia di utilizzarla perchè obsoleta

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.