PHP中的开关不起作用

问题描述 投票:0回答:1

我有代码

$status = (string)$item->Status[$i];

([$item->Status是从XML simplexml_load_string()的数据加载]

在切换情况下:

switch ($status) {
case 'P':
  echo "P";
  break;
case 'Z':
  echo "Z";
  break;
case 'V':
  echo "V";
  break;                     
default:
  echo 'default';
}

[$status的值为V(或PZ),但在切换大小写后始终打印default

如果尝试gettype($status),打印类型为string

当我在该开关盒后打印$status = "V"时写V时。

哪里有问题?谢谢

php switch-statement
1个回答
0
投票

此switch case语句没有问题,因为如果在switch case语句之前使用变量$ status测试它,它将起作用。这里的问题可能是$ status字符串与您期望的不完全相同。因此,例如,它可能有一个空格char。因此,以strlen为例检查长度。或使用var_dump()调试$ status var以查看确切内容。

© www.soinside.com 2019 - 2024. All rights reserved.