加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

类型为string>的PHP 0然后类型为0的0等于true?

发布时间:2020-12-13 22:05:36 所属栏目:PHP教程 来源:网络整理
导读:您好我有以下代码,令我困惑.这是怎么回事? ?php $concept = '0'; switch ($concept) { case ($concept '0'): $score = 'Y'; break; } ? 解决方法 从交换机文档: Note: Note that switch/case does loose comparision. Check the falsy-ness for '0' ,这太
您好我有以下代码,令我困惑.这是怎么回事?

<?php 

  $concept = '0';

    switch ($concept) {

        case ($concept > '0'):
            $score  = 'Y';
            break;

    } 


?>

解决方法

从交换机文档:

Note:
Note that switch/case does loose comparision.

Check the falsy-ness for '0',这太可怕了,我知道.您的案例评估为false,正如您在链接的tbl中看到的那样,(‘0’== false)=== true.

我将你的switch语句更改为:

switch(true)
{
    case ($concept >'0'):
        echo 'Impossible';
    break;
}

此外,就像文档所说:switch是一个循环式结构,执行松散的比较.您无法自己选择比较运算符.如果你想针对一组案例检查$concept的值,你必须写:

switch($concept)
{
   case '0': echo 'a zero string'; break;
   case '1': echo 'a 1 concept'; break;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读