2015-08-18 1 views
-2

Je suis en train de tester le code suivant. J'utilise PHP heredoc mais je reçois une erreur de dreamweaver. Si je l'écris manuellement, cela fonctionne. Si je copie coller cela ne fonctionne pas. Pourquoi donc?Quelle est l'erreur dans le code PHP suivant?

<?php 

$e=<<<EOP 
whoever 
EOP; 

$el=<<<EOG 
whatever 
EOG; 
?> 

+0

il devrait y avoir un rendement ajouté sous la dernière 'EOG,' et il y a aussi un espace après le dernier, retirez-le –

+0

@ Fred-ii-Problémes suivre là-bas. – arkascha

+0

Votre code n'a pas d'erreur de syntaxe. La version de votre Dreamweaver est ancienne. Mettez à jour le dernier. – Hassaan

Répondre

5

Il y a un espace après votre dernier identifiant de fermeture.

<?php 

$e=<<<EOP 
whoever 
EOP; 

$el=<<<EOG 
whatever 
EOG; 
    ^right there 
?> 
  • Il doit être supprimé.

Selon la documentation http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

Avertissement Il est très important de noter que la ligne avec l'identifiant de fermeture ne doit pas contenir d'autres caractères, à l'exception d'un point-virgule (;). Cela signifie en particulier que l'identifiant ne peut pas être indenté, et qu'il n'y a pas d'espaces ou d'onglets avant ou après le point-virgule. Il est également important de réaliser que le premier caractère devant l'identifiant de fermeture doit être un retour à la ligne tel que défini par le système d'exploitation local. C'est sur les systèmes UNIX, y compris Mac OS X. Le délimiteur de fermeture doit également être suivi d'un retour à la ligne.

+0

C'est vraiment un bug bizarre. –

+0

@whatever Si Dreamweaver ajoute des espaces quelque part, ce serait quelque chose à regarder. Malheureusement, je ne travaille pas dans Dreamweaver. –

+0

Existe-t-il une meilleure alternative à dreamweaver? –

1

essayer d'enlever un espace après "EOG;"

<?php 

$el=<<<EOG 
whatever 
EOG; 

?> 
+3

Eh bien, cela a été clairement souligné avant par d'autres. Toutefois, si vous publiez toujours cette réponse, vous devriez au moins supprimer cet espace après avoir copié et coller pour copier le code ... – arkascha

+0

oui fait le changement ..., merci – sriharichander