字符,数字,特殊符号的比较依赖ASC II表,本表原先有127个,后来又扩充了一些,里面包含了奇奇奇怪的符号。
ASC II表 https://baike.baidu.com/item/ASCII/309296?fr=aladdin#3
英文对照:http://www.asciitable.com/
 
1.整型和整型进行比较,与数学规则相同
 $a = 1;
$b = 2;
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
2.浮点型和浮点型进行比较,与数学规则相同
 $a = 1.0;
$b = 2.0;
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
3.字符串型和字符串型比较,
第一种情况,只包含字符序列,参照ASC II表中字符对应数值大小,如果是多位,第一位比第二位权重高,第二位比第三位权重高,...先比较第一位,第一位相同,比较第二位,第二位相同比较第三位...
第二种情况,只包含数字,转换为数字,参照数学规则。
第三种情况,数字和字符序列掺杂,和算数运算符不同,比价运算符不进行自动类型转换;比较参照ASC II表,同第一种情况。
 $a = 'aa';
$b = 'v';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a < $b ); $a = '11';
$b = '2';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a < $b ); $a = '11a';
$b = '2c';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a < $b );
var_dump( $a + $b );
4.布尔型和布尔型比较,布尔型true和布尔型false类型相等,但布尔型true的值大于布尔型false
 $a = true;
$b = false;
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
5.空类型null和空类型null比较,二者的类型和值都相等
 $a = null;
$b = null;
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
6.整型和浮点型比较,除类型外,参照数学规则
 $a = 1;
$b = 1.0;
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
7.整型和字符串型整数比较,参照数学规则
 $a = 2;
$b = '1';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
8.整型和字符串型浮点数比较,参照数学规则
 $a = 2;
$b = '1.0';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
9.整型和字符串型字母序列(不能转换为数字的)比较,会将字符序列转换为数字0
 $a = 0;
$b = 'ab';
var_dump( $a, $b );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );
10.整型和布尔型比较,布尔型true会被视为整数1,布尔型false会被视为整数0
 $a = 1;
$b = true;
$c = false;
var_dump( $a, $b, $c );
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $c );
11.整型和空类型null比较,空类型null值会被认为是整数0
 $a = 0;
$b = null;
var_dump( $a, $b);
var_dump( $a == $b );
var_dump( $a != $b );
var_dump( $a === $b );
var_dump( $a !== $b );
var_dump( $a > $b );

以php中的比较运算符操作整型,浮点型,字符串型,布尔型和空类型的更多相关文章

  1. 以php中的算数运算符操作(整型,浮点型,字符串型,布尔型,空类型)数据

    // 环境 // // php版本 // PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS ) // Copyright (c) ...

  2. 以php中的自增自自减运算符操作(整型,浮点型,字符串型,布尔型,空类型)数据

    // 环境 // // php版本 // PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS ) // Copyright (c) ...

  3. MySQL中的数据类型 [数值型、字符串型、时间日期型]

    MySQL中的数据类型 [数值型.字符串型.时间日期型] MySQL中各数据类型 1. 数值类型(整型) 类型 数据大小 类型 (无符号:unsigned) 数据大小 存储空间 tinyint -12 ...

  4. python学习3—数据类型之整型、字符串和布尔值

    python学习3-数据类型之整型.字符串和布尔值 数据类型 python3支持的数据类型共有6种: 1 Number 2 String 3 List 4 Tuple 5 Set 6 Dictiona ...

  5. python整型-浮点型-字符串-列表及内置函数(上)

    整型 简介 # 是否可变类型: 不可变类型 # 作用:记录年龄.手机号 # 定义: age = 18 # --> 内部操作 age = int(18) # int('sada') # 报错 in ...

  6. C++中将整型数与字符串型之间的类型转换

    整数转换成字符串类型: 方法一: 这里用到了char *itoa(int value, char *string, int radix); 函数当中参数为:int value 被转换的整数,char ...

  7. 通过js判断整型,浮点型,布尔型,字符串型

    <!DOCTYPE html> <html > <head>     <meta charset="UTF-8">     < ...

  8. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  9. python 基本数据类型以及运算符操作

    一.基本数据类型 为何要区分类型? 数据类型的值是变量值得类型,变量值之所以区分类型,是因为变量的值 用来记录事物的状态,而事物的状态有不同的种类,对应着,也必须用不 用类型去区分它们. 1.数字类型 ...

随机推荐

  1. Prometheus基础(二)

    1.什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控 ...

  2. Tensorflow object detection API(1)---环境搭建与测试

    参考: https://blog.csdn.net/dy_guox/article/details/79081499 https://blog.csdn.net/u010103202/article/ ...

  3. 【多线程与并发】Java中的12个原子操作类

    从JDK1.5开始,Java提供了java.util.concurrent.atomic包,该包中的原子操作类提供了一种使用简单.性能高效(使用CAS操作,无需加锁).线程安全地更新一个变量的方式. ...

  4. cmd命令 taskkill

    netstat -ano|findstr " tasklist|findstr " taskkill /pid taskkill 命令: // 描述: 结束一个或多个任务或流程. ...

  5. U盘量产过程PS2251-07(PS2307) - F/W 01.05.10 [2014-05-23]

    说明本篇文章可能无法解决你的问题,请谨慎尝试.本博客中使用的工具提供下载(如果没有积分,可联系作者免费获取)ChipGenius_v4_00_0030UPTool_v2.089起因 U盘原先正常使用, ...

  6. Java_jdbc 基础笔记之二 数据库连接

    /** * DriverManager 类是驱动程序管理器类 * 1)可以通过重载的getConnection()方法获取数据库的连接,较为方便 * 2)可以同时管理多个驱动程序:若注册了多个数据库连 ...

  7. JS Array.apply会有内存泄漏问题

    报错内容: Maximum call stack size exceeded 参考:https://www.jianshu.com/p/b9ba0ddd3392 对象较多,前端JS内存溢出: 数组克隆 ...

  8. 卸载node和npm

    sudo npm uninstall npm -g yum remove nodejs npm -y

  9. openresty开发系列19--lua的table操作

    openresty开发系列19--lua的table操作 Lua中table内部实际采用哈希表和数组分别保存键值对.普通值:下标从1开始 不推荐混合使用这两种赋值方式. local color={fi ...

  10. jenkins下载插件Git Parameter插件

    登陆jekinse -> 点击左边菜单列表 -> 点”系统管理“ -> 下拉点”插件管理“ -> 选“可选插件”,在右上角过滤框输入”Git Parameter” -> ...