2010-07-07 64 views
0

那么,为什么做这项工作:推理替代PHP语法条件HTML

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

但不是简单:

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

我想这只是风格的偏爱,但实际上,我可以”第二种方式似乎让它工作。我只是在做一些完全错误的事情吗?如果您希望它始终打印,我无法在if语句中间看到输出HTML的目的。

+1

他们都应该w ^扫。如果您打算使用'<?',则需要启用short_open_tag而不是'<?php' – quantumSoup 2010-07-07 16:44:55

回答

4

你需要让短标签在你的php.ini使<?工作

否则你必须写<?php } ?>

+2

+1 Eagle Eyes,而短标签不好。 – 2010-07-07 16:44:01

+1

+1 - 记住人们,启用短标签可能会炸毁您在PHP中创建的任何XML文件,即MyXml.php,它开始<?xml ... – Fenton 2010-07-07 16:48:15

+0

@sohnee:这很容易解决。 '$ xml ='<'。 '?xml',如果因为某些原因你不能/不会避免使用短标签。 – 2010-07-07 20:47:57

0

像你描述考虑您关闭PHP标签和<第二种方式应该工作?PHP

+0

您不需要结束标记(它们是隐含的)。你可以用'<?'而不是“<?php”,如果您启用了短标签。 – quantumSoup 2010-07-07 16:47:51

+0

首先,在第二个例子中,第一个例子没有结束标记。所以如果你继续使用HTML,你确实需要它。其次,默认情况下没有设置短标签,这样的问题将表明设置了默认值。 – 2010-07-07 17:08:40

0

确实如此,如果你有正确的重新开放标签...

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