PHP标签嵌套在If语句中


PHP tag nested in If statement?

代码问题:

<?php 
      if(strtolower($item["category"]) == "books" ) {
        ?>
        <tr>
          <th>Category</th>
          <td><?php echo $item["category"] ?></td>
        </tr>
 <?php } ?>

为什么我要这样写?而不是:

<?php
    if() {
     Do some things!
    }
?>

你可以用HTML写PHP,但是你不能用PHP写HTML(不使用echo)

  <?php 
  if(strtolower($item["category"]) == "books" ) {
    ?>

关闭php标签以添加html。

然后打开php标签为if加上右花括号然后再将其关闭这样就可以添加html

这只是基本的东西,但简短的解释是,当服务器正在处理你的*.php文件并将其发送到浏览器时,它开始解析你的文件,当他看到<?php标记和停止解析时,他运行到?>标记或文件的结束。因此,在这两者之间的任何内容都将被服务器视为PHP代码,其余部分将直接发送到浏览器。

你上面的代码可以用几种不同的方式来做同样的事情,这都取决于你想做什么。这在PHP中也是有效的,有时更容易读

<?php if (strtolower($item["category"]) == "books"): ?>
    <tr>
        <th>Category</th>
        <td><?php echo $item["category"] ?></td>
    </tr>
<?php endif; ?>