字符,数字,特殊符号的比较依赖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. 深入浅出一致性Hash原理

    转自:https://www.jianshu.com/p/e968c081f563 一.前言 在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务 ...

  2. 深入理解JVM虚拟机10:JVM常用参数以及调优实践

    转自http://www.rowkey.me/blog/2016/11/02/java-profile/?hmsr=toutiao.io&utm_medium=toutiao.io&u ...

  3. JS中注入eval, Function等系统函数截获动态代码

    正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...

  4. pythonw.exe不能用

    其实可以直接执行python目录下的Lib/idlelib/idle.bat即可,对于非安装版的python来说开始菜单是找不到启动快捷方式的.

  5. Vue 使用axios分片上传

    Vue的界面 <input type="file"/> 上传方法 fileUpload: function () { var num = 1 var file = do ...

  6. TreeFrog Framework : High-speed C++ MVC Framework for Web Application http://www.treefrogframework.org

    TreeFrog Framework : High-speed C++ MVC Framework for Web Application http://www.treefrogframework.o ...

  7. (转)golang获取当前时间、时间戳和时间字符串及它们之间的相互转换

    原文连接: https://blog.csdn.net/skh2015java/article/details/70051512 1.获取当前时间 currentTime:=time.Now() // ...

  8. Postgresql常用函数整理

    一.字符串函数 1.函数:string || string(string || non-string) 说明:字符串(或与非字符串)连接 示例: 2.函数:char_length(string) 说明 ...

  9. flutter Draggable Widget拖拽控件

    Draggable Widget Draggable控件负责就是拖拽,父层使用了Draggable,它的子元素就是可以拖动的,子元素可以实容器,可以是图片.用起来非常的灵活. 参数说明: data: ...

  10. flutter 不规则底部工具栏实现

    import 'package:flutter/material.dart'; import 'each_view.dart'; class BottomAppBarDemo extends Stat ...