0

我知道并且刚刚检查过这个问题有很多答案。但我觉得我必须用我的具体例子问自己。下面是例子:

<?php if($i==1){?><div class=yel><?php echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";?></div><?php } ?>

它在我的电脑上工作,但是当我在其他电脑上尝试这段代码时,它得到了错误(解析,语法)。相信我,我在几台电脑上试过。但没有结果。同样的代码在我的电脑上运行良好。

所以最后我决定我的代码一点也不整洁。所以我的代码可能有一些我没有注意到的问题。您会看到我一次又一次地开始和结束 PHP 块。你很清楚我为什么这样做。实际上我试图避免 php 块中的标签。所以我的问题是,有没有更有效的方法在 PHP 块中使用 DIV 标记或任何其他标记?提前谢谢。

4

4 回答 4

4

这不是更容易用肉眼理解吗?

<?php 

if($i==1){
    echo "<div class=yel>";
    echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";
    echo "</div>";
}


?>
于 2012-12-13T23:54:39.250 回答
3

使用冒号代替括号。也关闭它endif

<?php if($i == 1): ?>
    <div class=yel>
        <?php echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";?>
    </div>
<?php endif; ?>

您还可以使用短标签(需要通过 php.ini 启用)来使事情更整洁。

<? if($i == 1): ?>
    <div class=yel>
        <?="Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info"?>
    </div>
<? endif; ?>
于 2012-12-13T23:54:30.193 回答
1

我可能会选择heredoc:

if($i == 1) echo <<< HTML
    <div class="yel">
        Today at {$hour}:{$min} {$ampm}<br/>
        Event: {$event}<br/>
        Place: {$place}<br/>
        Description: {$desp}<br/>
        Contact info: {$info}
    </div>
HTML;

当你有一些包含一些变量的 HTML 时,heredocs 就是为它而制作的。干净整洁。

于 2012-12-14T00:44:09.107 回答
1

使用 if 和 endif:

<?php if($i==1): ?>
<div class=yel>
<?php 
echo "Today at $hour:$min $ampm<br/> Event: $event<br/> Place: $place<br/> Description: $desp<br/> Contact info: $info";
?>
</div>
<?php endif; ?>

虽然我个人会使用 MAXIM 的答案

于 2012-12-13T23:52:11.443 回答