2

次のコードがあります。これは、期待どおりに機能します。

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

ただし、ここでは、IF ステートメントの結果に応じて、エコーに 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" /> ?>

これを行うと、次のエラーが発生します: 解析エラー: 構文エラー、予期しない '<' on line 213 (line 213 は<input>上記のコードの最初の行を参照しています)。

変数と HTML の両方を IF ステートメントのエコー部分に含める方法はありますか?

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 内では通常のテキストとして表示されるためです。{また、角かっこandを追加しました}: an のif後に複数の命令が続く場合、角かっこは、に属する命令の開始と終了を指定するために必要ですif。同じことが にも当てはまりますelse

于 2012-05-16T18:20:10.900 に答える