这段代码有什么问题,效果很好,但我不明白第四行。为什么右括号是自己的?我是 PHP 的新手,总是在谷歌上寻找答案,但我无法弄清楚这一点。希望有一天我能帮助别人。谢谢
<div class="errorbox">
<?php if(isset($error2)){?>
<strong class="error"><?php echo $error2;?></strong>
<?php } ?>
</div>
这段代码有什么问题,效果很好,但我不明白第四行。为什么右括号是自己的?我是 PHP 的新手,总是在谷歌上寻找答案,但我无法弄清楚这一点。希望有一天我能帮助别人。谢谢
<div class="errorbox">
<?php if(isset($error2)){?>
<strong class="error"><?php echo $error2;?></strong>
<?php } ?>
</div>
它没有任何问题。您可以闯入和退出 PHP,这就是这段代码正在做的事情。有时更容易打破 PHP 块编写一些 HTML,然后再回到 PHP
它正在结束if
在第 2 行创建的语句,但第 3 行正在输出 HTML,因此 php 结束,只是从下一行开始以完成 open 语句。
这么写你突然就知道了:
<div class="errorbox">
<?php
if(isset($error2)) {
echo '<strong class="error">' . $error2 . '</strong>';
}
?>
</div>
或者像这样:
<div class="errorbox">
<?php
if(isset($error2)) {
?>
<strong class="error"><?php echo $error2;?></strong>
<?php
}
?>
</div>
这是普通的 PHP 模板。它正在输出 HTML。第一个括号打开,第二个括号关闭
有几种方法可以做到:
最好的方法是在问题中描述:
<div class="errorbox">
<?php if(isset($error2)){?>
<strong class="error"><?php echo $error2;?></strong>
<?php } ?>
</div>
另一种方法是回显:
echo "<div class="errorbox">";
<?php
if(isset($error2)){
echo "<strong class="error">". $error ."</strong>";
}
?>
echo "</div>";