Errore di analisi: errore di sintassi, inaspettata fine $

Errore di analisi: errore di sintassi, inaspettata fine $Durante la programmazione in PHP, si trova inevitabilmente un giorno di questo tipo di errore:
Errore di analisi: errore di sintassi, $ fine inaspettata in codice di linea di comando sulla linea 1
In francese, significa più o meno: "il codice di errore di analisi: c'è un errore di sintassi, inaspettata fine del codice".



Quali sono le cause di questo errore?


In realtà, questo errore significa che PHP ha finito di analizzare il codice, ma si è dimenticato di chiudere un simbolo da qualche parte nella tua pagina o in quelli che sono stati inclusi.
Concretamente questo accade quando:
  • Ad esempio, ti sei dimenticato di chiudere una citazione, in modo Php continua ad analizzare il codice finché non trova le virgolette di chiusura, non è ...
  • Hai dimenticato di chiudere un abbraccio, quindi dall'ultima parentesi graffa di apertura, Php considera tutto il codice che segue come parte di un blocco che non finisce mai ...
  • Hai dimenticato di chiudere una staffa, in modo dall'ultima parentesi di apertura, Php considera tutto il codice che segue come parte di uno specifico blocco (condizione, gli argomenti della funzione ecc ...) che non termina.
  • Hai dimenticato un punto e virgola, quindi per PHP, v'è una dichiarazione nel codice che non ha fine.


Pertanto, senza necessità di riferirsi alla linea indicata con Php come origine dell'errore. Php vi dirà che il problema è l'ultima riga, mentre l'origine può essere posizionato solo da nessuna parte nella pagina dedicata o le pagine che sono inclusi.

Esempi di codici che causano questo errore


Esempi di codici che possono causare questo errore.

Dimenticando la parentesi graffa di chiusura:
<?if ($ condizione) {eco "vero";?>
Dimenticare di chiudere un preventivo:
<?eco "prova;?>
Dimenticando per chiudere una parentesi:
<?mysql_query ("gnagnagna", "delatore", "cecinestpasunserveursql.com" ;?>
Perse un punto e virgola:
<?if ($ test) {echo '1'}?>

Come riparare / evitare questo errore


Questo è spesso perché è difficile organizzare la presentazione del suo codice. Soprattutto ricordarsi di far rientrare il codice in molti distinguere visivamente i vari blocchi.

Esempio di codice:
// array_reverse Equivalente ()Funzione inverse_tableau ($ array){$ Ret = array ();if (is_array ($ array)) {for ($ i = sizeof ($ tabella) - 1; $ i >= 0; $ I ++){$ Ret [] = $ array [$ i];}}return $ ret;}
Esempio di un codice senza rientro, più difficile da eseguire il debug:
Funzione inverse_tableau ($ array){$ Ret = array ();if (is_array ($ array)) {for ($ i = sizeof ($ tabella) - 1; $ i >= 0; $ I ++){$ Ret [] = $ array [$ i];}}return $ ret;}
Se si verifica questo errore, sa che non è necessariamente trova alla fine del codice, come dimenticare può essere situato all'inizio del codice un abbraccio, anche se il file è di 1000 linee.

Buona fortuna!
Errore di analisi: errore di sintassi, inaspettata fine $Scarica questo articolo (PDF)
Pubblicato da Kilian. Questo documento intitolato " Errore di analisi: errore di sintassi, $ end inaspettato "proveniente dallaKioskea (Www.commentcamarche.net)è reso disponibile sotto la licenza Creative Commons.È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza,come questa nota appare chiaramente.scaricare questo articolo (PDF