zoukankan      html  css  js  c++  java
  • 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是假呀.感觉没道理可说,所谓道理就是人家规定的.实际写时多测试吧.

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

  • 相关阅读:
    LINUX按键驱动程序
    s3c2440地址分配
    Linux内核代码
    C语言初始化
    tftp协议
    ARM工作模式
    Bootstrap3隐藏滑动侧边栏菜单代码特效
    javascript 中slice,substr,substring方法的对比
    vue 的简述
    鼠标移动出自己想要的效果
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/11571904.html
Copyright © 2011-2022 走看看