我有一个白痴问题,但我被困住了.
这是我的简单代码
$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不是强类型语言.
所以“00”==“0”给出为真(并且因为所述开关使用相等运算符)
这基本上是因为PHP不是强类型语言.
所以“00”==“0”给出为真(并且因为所述开关使用相等运算符)
您可以将此更改为if else语句,使用三等于并且可以执行此操作.
“00”===“0”给出错误.查看此主题以获取更多详细信息How do the PHP equality (== double equals) and identity (=== triple equals) comparison operators differ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。