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不是强类型语言.
所以“00”==“0”给出为真(并且因为所述开关使用相等运算符)

您可以将此更改为if else语句,使用三等于并且可以执行此操作.

“00”===“0”给出错误.查看此主题获取更多详细信息How do the PHP equality (== double equals) and identity (=== triple equals) comparison operators differ?

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...