PHP IF语句中的Echo变量和HTML

时间:2012-05-16 18:05:22

标签: php html input if-statement echo

我有以下代码,它完全按照我的预期运行:

<?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" /> ?>

当我这样做时,我收到以下错误:解析错误:语法错误,意外'&lt;'在第213行(第213行指的是上面代码中的第一行<input>)。

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

5 个答案:

答案 0 :(得分:2)

编辑:更好的格式化

<?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 ?>

答案 1 :(得分:0)

试试这个

<?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 } ?>

答案 2 :(得分:0)

你需要回应你的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\" /> ?>

答案 3 :(得分:0)

您需要在启动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" /> ?>

答案 4 :(得分:0)

PHP和HTML是不同的语言,它们的解释方式不同。 <input type="button">在PHP中没有任何意义,实际上是无效的。 PHP代码介于<?php?>标记之间,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的指令的开头和结尾1}}。这同样适用于else