2010-07-07 5 views
0

Alors, pourquoi ce travail:Raisonnement pour la syntaxe PHP alternative pour HTML conditionnel

<?php if (condition): ?> 
    <!--html code here--> 
<?php endif; ?> 

Mais pas seulement cela:

<?php 
if (condition) { ?> 
    <!--html code here--> 
    <? 
} 

Je pensais que c'était la préférence de style, mais je peux réellement » Il semble que cela fonctionne dans la deuxième voie. Est-ce que je fais juste quelque chose de complètement faux? Je ne peux pas voir le but de sortie HTML juste au milieu d'une instruction if si vous le vouliez toujours imprimer.

+1

les deux devraient w ork. Vous devez activer short_open_tag si vous utilisez ' quantumSoup

Répondre

4

Vous devez laisser balise courte dans votre php.ini pour faire <? travail

que vous avez à écrire <?php } ?>

+2

+1 Eagle Eyes, et les étiquettes courtes sont mauvaises. –

+1

+1 - rappelez-vous les gens, en activant les balises courtes, vous risquez de faire exploser tous les fichiers XML que vous créez en PHP, c'est-à-dire MyXml.php, qui commence Fenton

+0

@sohnee: C'est facile à contourner. '$ xml = '<'. '? xml'', si pour une raison quelconque vous ne pouvez/ne voulez pas éviter les balises courtes. –

0

La deuxième façon devrait fonctionner comme vous avez décrit envisagez-vous avez les balises php de fermeture et < ? php

+0

Vous n'avez pas besoin des balises de fermeture (elles sont implicites). Et vous pouvez utiliser ' quantumSoup

+0

Tout d'abord, dans la question, le deuxième exemple n'a pas de balise de fermeture lorsque le premier le fait. Vous en avez donc besoin si vous continuez avec le HTML. Deuxièmement, par défaut, les balises courtes ne sont pas définies, une telle question indiquerait que les valeurs par défaut sont définies. –

0

Il fait, si vous avez le droit tag réouverture ...

<?php 
if (condition) { ?> 
    <!-- html code --> 
<?php 
} 
Questions connexes