【问题标题】:PHP Switch statement displaying case label in echo statementPHP Switch 语句在 echo 语句中显示 case 标签
【发布时间】:2012-09-07 14:01:27
【问题描述】:

我已使用以下 SWITCH 语句来 ECHO 三个 CASE 之一。但是,当我这样做时,网页的输出会显示 CASE 标签,然后是实际的回显语句。

$sc_stk_poa0-1 的布尔字段。
$sc_stk_prc_stanard 是 MySQL 数据库中的价格字段。

echo $x = $sc_stk_poa;
switch($x) {
    case 0: echo "£{$sc_stk_prc_standard}";
        break;
    case -1: echo "POA";
        break;
    default: echo "";
}

我在网页中得到的输出类似于:-1POA0£59.14,具体取决于选择输出的情况。

【问题讨论】:

  • 删除 php 代码开头的“echo”:<?php $x=$sc_stk_poa; SWITCH ($x) { case 0: echo "£{$sc_stk_prc_standard}"; break; case -1: echo "POA"; break; default: echo ""; } ?>
  • 看来你是在 switch 语句之前回显$sc_stk_poa

标签: php switch-statement


【解决方案1】:

写一些不那么复杂的东西:

<?php 
switch ($sc_stk_poa)
{ 
    case 0: 
      echo "£{$sc_stk_prc_standard}"; 
    break; 
    case -1: 
      echo "POA"; 
    break; 
    default: 
      echo "";
}

不需要变量 $x,是吗?

【讨论】:

  • 谢谢大家,这里提到的每个解决方案都能正常工作。现在我可以更清楚地看到我的错误,因为他们被指出了。非常感谢您的宝贵时间。
【解决方案2】:

它没有显示标签。你在这里有一个回声:&lt;?php echo $x=$sc_stk_poa;。这是输出x 的值,在您的案例中使用。

【讨论】:

    最近更新 更多