PHP Switch语句在echo语句中显示case标签

use*_*886 0 php switch-statement

我已经使用以下SWITCH语句给ECHO三个CASE中的一个.但是,当我这样做时,网页的输出显示CASE标签,然后显示实际的echo-ed语句.

$sc_stk_poa是一个0或两个的布尔字段-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 "";
}
Run Code Online (Sandbox Code Playgroud)

我在网页上得到的输出类似于:-1POA或者0£59.14取决于选择哪种情况输出.

gre*_*ire 5

写下不那么复杂的东西:

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

不需要变量$ x,是吗?