字符,数字,特殊符号的比较依赖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. [设计原则与模式] 如何理解TDD的三条规则

    cp from  :  https://blog.csdn.net/ibelieve1974/article/details/54948031 如何理解Bob大叔的TDD三条规则?第一条和第三条讲的是 ...

  2. 从Windows命令行启动MySQL

    SERVER: 从Windows命令行启动MySQL 可以从命令行手动启动MySQL服务器.可以在任何版本的Windows中实现. 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS ...

  3. 胶囊网络 -- Capsule Networks

    胶囊网络是 vector in vector out的结构,最后对每个不同的类别,输出不一个向量,向量的模长表示属于该类别的概率. 例如,在数字识别中,两个数字虽然重叠在一起,Capsule中的两个向 ...

  4. https://github.com/python/cpython/blob/master/Doc/library/contextlib.rst 被同一个线程多次获取的同步基元组件

    # -*- coding: utf-8 -*- import time from threading import Lock, RLock from datetime import datetime ...

  5. SWLU:主核性能采样、调试工具包

    http://bbs.nsccwx.cn/topic/262/swlu-主核性能采样-调试工具包

  6. Mac 终端显示git分支

    1 进入你的home目录 cd ~ 2 编辑.bashrc文件 vi .bashrc 3 将下面的代码加入到文件的最后处 function git_branch { branch="`git ...

  7. Leetcode: Minimum Domino Rotations For Equal Row

    In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino. (A domin ...

  8. Angular 项目打包之后,部署到springboot项目中,刷新访问404解决方法

    解决方法1: app.module.ts文件添加两行代码: import { LocationStrategy, HashLocationStrategy } from '@angular/commo ...

  9. 【转】Python读取PDF文档,输出内容

    Python3读取pdf文档,输出内容(txt) from urllib.request import urlopen from pdfminer.pdfinterp import PDFResour ...

  10. 【Dart学习】--Dart之数组(List)的相关方法总结

    一,初始化List 非固定长度list var testList = List(); print(testList.length);//输出0 固定长度List var testList2 = Lis ...