【问题标题】:Echo variable and HTML in PHP IF statementPHP IF 语句中的 Echo 变量和 HTML
【发布时间】:2012-05-16 18:05:21
【问题描述】:

我有以下代码,它的工作方式完全符合我的预期:

<?php if ($a - $b < 1)
echo $text;
elseif ($a - $b >= 1)
echo $a - $b;
else
echo $a; ?>

不过,现在我还想根据 IF 语句的结果在 echo 中添加一些 HTML。

<?php if ($a - $b < 1)
echo $text;
elseif ($a - $b >= 1)
echo $a - $b;
<input type="button" value="<?php echo $button_txt; ?>" id="button" class="button" />
else
echo $a;
<input type="button" value="<?php echo $button2_txt; ?>" id="button" class="button" /> ?>

当我这样做时,我收到以下错误:Parse error: syntax error, unexpected '<input>)。

有没有办法在 IF 语句的 echo 部分中同时包含变量和 HTML?

【问题讨论】:

  • HTML &lt;input&gt; 标签是否应该是 if/else 链的一部分?如果是这样,您还需要{},否则您将在else 处收到语法错误。

标签: php html input if-statement echo


【解决方案1】:

编辑:更好的格式

<?php if ($a - $b < 1): ?>
  <?php echo $text ?>
<?php elseif ($a - $b >= 1): ?>
  <?php echo $a - $b ?>
  <input type="button" value="<?php echo $button_txt ?>" id="button" class="button" />
<?php else: ?>
  <input type="button" value="<?php echo $button2_txt ?>" id="button" class="button" />
<?php endif ?>

【讨论】:

    【解决方案2】:

    试试这个

    <?php if ($a - $b < 1)
    echo $text;
    elseif ($a - $b >= 1)
    {
    echo $a - $b;
    ?>
    <input type="button" value="<?php echo $button_txt; ?>" id="button" class="button" />
    <?php
    else
     {
    echo $a;
    ?>
    <input type="button" value="<?php echo $button2_txt; ?>" id="button" class="button" />
    <?php } ?>
    

    【讨论】:

      【解决方案3】:

      您需要回显您的 html 行:

      <?php if ($a - $b < 1)
      echo $text;
      elseif ($a - $b >= 1)
      echo $a - $b;
      echo "<input type=\"button\" value=\"$button_txt\" id=\"button\" class=\"button\" />";
      else
      echo $a;
      echo "<input type=\"button\" value=\"$button2_txt\" id=\"button\" class=\"button\" /> ?>
      

      【讨论】:

        【解决方案4】:

        您需要在开始 html 代码之前关闭您的 php 语句,因此您的代码应该如下所示:

        <?php if ($a - $b < 1)
        echo $text;
        elseif ($a - $b >= 1)
        echo $a - $b;
        ?>
        <input type="button" value="<?php echo $button_txt; ?>" id="button" class="button" />
        <?php else
        echo $a;
        ?>
        <input type="button" value="<?php echo $button2_txt; ?>" id="button" class="button" /> ?>
        

        【讨论】:

          【解决方案5】:

          PHP 和 HTML 是不同的语言,它们的解释不同。 &lt;input type="button"&gt; 在 PHP 中没有任何意义,实际上是无效的。 PHP 代码位于 &lt;?php?&gt; 标记之间,HTML 位于这些标记之外或引号之间(使其成为字符串)。

          解决方案可能是:

          <?php
          
          if ($a - $b < 1)
              echo $text;
          elseif ($a - $b >= 1)
          {
              echo $a - $b;
              echo '<input type="button" value="' . $button_txt . '" id="button" class="button" />';
          }
          else
          {
              echo $a;
              echo '<input type="button" value="' . $button2_txt . '" id="button" class="button" />';
          }
          
          ?>
          

          请注意,实际的 HTML 代码现在介于 '' 之间,因为在 PHP 中它被视为常规文本。 另外,我添加了括号{}:当if 后跟多个指令时,需要括号来指定属于if 的指令的开始和结束。这同样适用于else

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-09
            • 2016-06-11
            • 1970-01-01
            • 2013-12-19
            • 1970-01-01
            • 1970-01-01
            • 2013-10-12
            相关资源
            最近更新 更多