我有代码
$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
(或P
,Z
),但在切换大小写后始终打印default
如果尝试gettype($status)
,打印类型为string
。
当我在该开关盒后打印$status = "V"
时写V
时。
哪里有问题?谢谢
此switch case语句没有问题,因为如果在switch case语句之前使用变量$ status测试它,它将起作用。这里的问题可能是$ status字符串与您期望的不完全相同。因此,例如,它可能有一个空格char。因此,以strlen为例检查长度。或使用var_dump()调试$ status var以查看确切内容。