2

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

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

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

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

4

5 回答 5

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 ?>
于 2012-05-16T18:09:41.290 回答
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 } ?>
于 2012-05-16T18:09:22.107 回答
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\" /> ?>
于 2012-05-16T18:09:22.680 回答
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" /> ?>
于 2012-05-16T18:11:00.160 回答
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 中它被视为常规文本。另外,我添加了括号{}: 当 anif后跟多个指令时,需要括号来指定属于if. 这同样适用于else.

于 2012-05-16T18:20:10.900 回答