在实践过程中,经常需要做`==`判断,有时候会把0当做false一样用,但是0和false在用来做比较的时候还是不一样的,

false

false==0 等于true

false=='0' 等于true

false=='' 等于true

fasle==[] 等于true

false=={}等于true

false=='123' 等于false  ;这里的123可以换成除空字符串和字符串0的任意字符串

0

0==false 等于true

0=='0' 等于true

0=='' 等于true

0==[] 等于false

0=={}等于false

0=='123' 等于false ;这里123可以换成任意非0的数字字符串

0=='你好' 等于true ; 这里的`你好`可以换成任意非数字字符串

可以得出结论:

1、0和数字字符串或数字比较的时候比较数字值是否和0相等,和其他字符串比较的时候都为true,和对象或者数组比较的时候都为false

2、false 和我们的感觉一样只要非空都为true

需要注意的是0和非数字字符串比较都为true

关于php中数字0与其他变量的相等判断的更多相关文章

  1. 1~n中数字0~9出现的次数

    题意:rt 分析: 当然不可能去遍历,应该寻找统计的方法. 如计算 78501 中 "5" 出现的次数. 我们可以枚举“5”出现的位置, 如当“5”位于倒数第2位时,写成 xxx5 ...

  2. 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||

    换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...

  3. (算法)从0到n整数中数字2出现的次数

    题目: 数出0到n(含)中数字2出现了几次. 思路: 1.暴力方法,数出每个数字包含几个2,然后累加起来. 2.分析:分别考虑数字n每一位出现2的次数,如123123: 从左往右考虑4123123: ...

  4. js中关于带数字类型参数传参丢失首位数字0问题

    最近在项目中遇到一个问题,js中传带有数字的参数时,如果参数开头有数字0,会把0给去掉. 例如: 方法abc(0123456,789); 方法abc中获取的参数0123456就会变为123456. 原 ...

  5. 【转】shell中的$0 $n $# $* $@ $? $$ 变量 if case for while

    shell中的$0 $n $# $* $@ $? $$  shell 编程 | shift 命令用法笔记 $0当前脚本的文件名 $n传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个 ...

  6. Linux中的输入重定向,变量

    1 :分号 格式:命令1:命令2;命令3 说明:命令之间用分号隔开是顺序执行,命令之间没有任何逻辑关系 2  &&  逻辑与 格式:命令1 && 命令2 说明:命令1正 ...

  7. JS 中对变量类型的判断

    总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toStri ...

  8. javascript中对变量类型的判断

    本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据 ...

  9. Jmeter-从数据库中获取数据并作为变量传输

    再今天重新学习,从数据库中取数据,并作为变量传到下一个请求中. 首先第一步要导入mysql驱动包 一.添加JDBC Connection Configuration 设置链接 Database URL ...

随机推荐

  1. java自增(自减)运算符

    自增(自减)运算符: ++ --就是可以将当前变量自我增加(减少)1 的运算符. i++, 后++, 先将 i 的值作为整个表达的值, 然后将 i 增加 1. ++i, 先++, 先将 i 增加 ...

  2. SpringMVC学习(六)——@InitBinder注解

    有些类型的数据是无法自动转换的,比如请求参数中包含时间类型的数据,无法自动映射到Controller里的Date参数.需要使用@initBinder注解为binder提供一个数据的转换器,这个转换器可 ...

  3. linux中无法使用sudo的方法

    xxx is not in the sudoers file.This incident will be reported.的解决方法 1.切换到root用户下. 2.添加sudo文件的写权限,命令是 ...

  4. TortoiseGit基本操作

    使用之前需要下载git for windows,tortoisegit . 1.TortoiseGit使用与操作 1.1克隆 打开一个要存放项目的文件夹下,右键Git Clone...进行克隆 弹出克 ...

  5. 打印出类所在的jar包

    ackage time; /** * Created by sheting on 10/20/2017 */ public class Test { public static void main(S ...

  6. spring定时器quartz版本问题

    如果quartz的版本是1.8.5启动会报错,修改给2.0版本以上即可 <dependency> <groupId>org.quartz-scheduler</group ...

  7. git init新建仓库并上传到远端

    git init git add README.md git commit -m "first commit" git remote add origin https://gith ...

  8. Hibernate之CRUD实践

    Hibernate作为一个高度封装的持久层框架,曾经是非常牛逼的,现在虽然应用不是特别广,比如我前公司主要是做OA的,应用的框架就是Spring+SpringMVC+Hibernate. Hibern ...

  9. 可决系数R^2和MSE,MAE,SMSE

    波士顿房价预测 首先这个问题非常好其实要完整的回答这个问题很有难度,我也没有找到一个完整叙述这个东西的资料,所以下面主要是结合我自己的理解和一些资料谈一下r^2,mean square error 和 ...

  10. kettle maven 配置

    <properties> <kettle.version>6.1.0.4-225</kettle.version> </properties> < ...