字符,数字,特殊符号的比较依赖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. LVM卷

    sdb和sdc创建为LVM并且挂载到/benet/ 将sdd扩展到之前的lvm卷 新建2块1G的磁盘和1块2G的磁盘 将分区ID改为8e 创建PV阶段 pvcreate /dev/sdb1 /dev/ ...

  2. 生成uuid 和 检验

    //注意replaceAll前面的是正则表达式 String uuid = UUID.randomUUID().toString().replaceAll("-","&q ...

  3. 第10组 Alpha冲刺(2/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 了解了如何根据系统获取的实际情况进行后端任务的调整 网易云音乐推荐算法的分析 ...

  4. 正则表达式检测IP地址与端口号是否合法

    正则表达式检测IP地址与端口号是否合法,代码如下: 正则表达式检测IP地址 public static bool CheckAddress(string s) { bool isLegal = fal ...

  5. Java static静态关键字 有啥用

    #static有啥用 在Java语言中,static表示“静态”的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块.static的主要作用在于创建独立于具体对象的域变量或者方法. ...

  6. Android访问WCF服务

    原文链接:http://www.cnblogs.com/VinC/archive/2011/02/24/1964049.html 本章目的: 用Wcf建立可以上Android可以访问的数据服务, 数据 ...

  7. 《浅谈F5健康检查常用的几种方式》—那些你应该知道的知识(二)

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sinat_17736151/articl ...

  8. hive分区表新增字段,已有分区显示为null

    如果在hive的分区表新增非分区字段,那么原有的分区的数据即使重新运行也会显示为null. 必须先删除该分区,再重新跑数据.

  9. Python3基础 keyword 查看所有的关键字

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  10. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...