HTML 中的 PHP if/else 结构

标签 php html if-statement

我想弄清楚应该如何构建 if/else 语句。

我理解基本的if/esle应该是这样的;

<?php
if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}
?>

我不确定如何将此逻辑实现到我当前的语句中。我认为因为 php 混合在 html 中,这让我感到困惑:/

我确定这是非常错误的,但有人可以告诉我它应该如何构建吗?

  <form role="form">
    <div class="btn-group" data-toggle="buttons">
      <label class="btn btn-default <?php if ($status == '1' ) echo 'active btn-success' ; ?>">
        <input type="radio" name="status" id="option1" value="1" autocomplete="off"> Active
      </label>
      <label class="btn btn-default <?php elseif ($status == '2' ) echo 'active btn-warning' ; ?>">
        <input type="radio" name="status" id="option2" value="2" autocomplete="off"> Inactive
      </label>
      <label class="btn btn-default <?php else ($status == '3') echo 'active btn-danger' ; ?>">
        <input type="radio" name="status" id="option3" value="3" autocomplete="off"> Not Found
      </label>
    </div>
  </form>

我在 NetBeans 中看到的错误是;

Syntax error: unexpected elseif

我可以或应该只在每个标签上使用 if 语句吗?

最佳答案

Ravi Hirani has already answered the question ,但我想我会解释为什么你会收到错误。

原因是您没有使用正确的语法。如果我们取出 PHP 并剥离 HTML,您可能会明白原因:

if ($status == '1' ) echo 'active btn-success' ;
elseif ($status == '2' ) echo 'active btn-warning' ;
else ($status == '3') echo 'active btn-danger' ;

如您所见,您只是缺少括号来完成 if 语句所需的语法。它应该看起来像(没有标记):

if ($status == '1') {
    echo 'active btn-success';
} elseif ($status == '2') {
    echo 'active btn-warning';
} else ($status == '3') {
    echo 'active btn-danger';
}

现在,当包含 HTML 时,会变得非常困惑!尤其是在尝试跨多行标记跟踪左括号和右括号时。所以我通常在处理标记时使用备用语法,只是为了让它更整洁一点!可以在这里找到:

http://php.net/manual/en/control-structures.alternative-syntax.php

您只需将括号替换为替代字符即可:

if ($status == '1'):
    echo 'active btn-success';
elseif ($status == '2'):
    echo 'active btn-warning';
else ($status == '3'):
    echo 'active btn-danger';
endif;

关于HTML 中的 PHP if/else 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360311/

相关文章:

php - 将带有两个分隔符的字符串拆分为两个数组(分解两次)

c# - 将 CSS 应用于 HTML 通用控件,如 ASP.NET 中的 <UL> 和 <LI>

linux - sh 脚本错误,if 语句给出意外的文件结尾

javascript - 在 React 中显示更多信息

java - 为什么在 if 语句中初始化字符串似乎与在 switch 语句中不同?

php - 计算第一个数组中键的总数

java - 集成 PHP 和 Java?

javascript - 如何将两个ajax结合在一起

javascript - 中心推特嵌入 iframe

html - 单击 ul li 菜单时转换不起作用