我有一个白痴问题,但我卡住了。php是/ switch语句检查'0'字符串或'00'字符串
这里是我的简单代码
$my_string = '00';
switch ((string)$my_string)
{
case '-1': $return_string = 'bla bla..'; break;
case '0': $return_string = 'One zero'; break;
case '00': $return_string = 'Double zero'; break;
default: $return_string = 'default'; break;
}
echo $return_string;
回报
One Zero
任何建议之前的代码的结果?
这是在PHP的错误很常见的来源。可能更令人惊讶的事实是,“(”0xFF“== 255)=> True” – jedwards
“如果您将数字与字符串进行比较或者比较涉及数字字符串,则将每个字符串转换为数字,这些规则也适用于switch语句,当比较结果为===或!==时,类型转换不会发生,因为这涉及比较类型和值。 - [PHP的规格](http://php.net/manual/en/language.operators.comparison.php) – jedwards