• php " ",0,'0',false ==判断


    今天项目中遇到的一个问题,举个栗子:

    if($_GET['is_has_idcard']==0 || $_GET['is_has_idcard']==1){

      echo '这次我要上传身份证';

    }

    if($_GET['marry_mes']!=''){

      echo '这次我要上传婚姻信息';

    }

    这样的判断,当没有传值is_has_idcard的时候,也会echo 这次我要上传身份证。就这个判断写法在我们的流程中成了个bug ,百度学一下,基础还是得打啊。。。

    ===========================================================================================================
    下列哪一个是假:
    A、0=="0";
    B ""== "0"
    C “”==0
    D false=="0"
    请解释下PHP在这些情况下以哪种类型比较的标准是什么?

    答案:

    A,真
    B,假
    C,真
    D,真
    PHP是一种弱类型语言,字符串,数,布尔,有时它自作聪明地帮你转化,这种转化有时带来方便,有时带来恼火.A:字符数字与数可以互相转化,这个大家都知道,B:空字符串与0字符串当然不一样.C:空就是0,D:0字符可以认为是假的.
    如上就产生了一个问题:因为""==0, 0=="0" ,所以,""=="0",就是B了,而B是假的,MD,纠结了.
    这里因为PHP只作了两两转换,所以上面推理虽然是那么纠结.但事实上“”不能直接转化为“0”的.
    对于D这条,你说得有道理,我也觉得0也是有字符啊, 但是“0”可转化为0,0是假呀.感觉没道理可说,所谓道理就是人家规定的.实际写时多测试吧.

    ==============================================================================================================

  • 相关阅读:
    10年后我又来看看我自己!
    KubernetesKuboard
    VSCode SSH 免密登录
    Windows Terminal 使用 PuTTY 连接 COM 串口
    PuTTY SSH 免密登录
    FastDDS 安装过程的坑🕳坑🕳坑🕳坑🕳坑🕳坑🕳
    Samba 安装、配置、共享 home 目录、创建用户、设置密码、映射盘符
    Win10 恢复快捷方式小箭头
    CSAPP 并发编程读书笔记
    修改 VSCode 终端配色
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/11571904.html
Copyright © 2020-2023  润新知