PHP类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。松散比较:使用两个等号 == 比较,只比较值,不比较类型。

严格比较:用三个等号 === 比较,除了比较值,也比较类型。

例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "false" 是一个字符串。<?php

if (42 == "42") {

echo '1、值相等';

}

echo PHP_EOL; // 换行符

if (42 === "42") {

echo '2、类型相等';

} else {

echo '3、不相等';

}

?>

以上实例输出结果为:1、值相等

3、不想等

PHP中 比较 0、false、null

测试代码:

示例:<?php

echo '0 == false: ';

var_dump(0 == false);

echo '0 === false: ';

var_dump(0 === false);

echo PHP_EOL;

echo '0 == null: ';

var_dump(0 == null);

echo '0 === null: ';

var_dump(0 === null);

echo PHP_EOL;

echo 'false == null: ';

var_dump(false == null);

echo 'false === null: ';

var_dump(false === null);

echo PHP_EOL;

echo '"0" == false: ';

var_dump("0" == false);

echo '"0" === false: ';

var_dump("0" === false);

echo PHP_EOL;

echo '"0" == null: ';

var_dump("0" == null);

echo '"0" === null: ';

var_dump("0" === null);

echo PHP_EOL;

echo '"" == false: ';

var_dump("" == false);

echo '"" === false: ';

var_dump("" === false);

echo PHP_EOL;

echo '"" == null: ';

var_dump("" == null);

echo '"" === null: ';

var_dump("" === null);

以上实例输出结果为:0 == false: bool(true)

0 === false: bool(false)

0 == null: bool(true)

0 === null: bool(false)

false == null: bool(true)

false === null: bool(false)

"0" == false: bool(true)

"0" === false: bool(false)

"0" == null: bool(false)

"0" === null: bool(false)

"" == false: bool(true)

"" === false: bool(false)

"" == null: bool(true)

"" === null: bool(false)

php 比较,PHP类型比较相关推荐

  1. 《疯狂Java讲义》(第5版) 作者李刚(待重新排版)

    第1章 Java语言概述与开发环境 1.1 Java语言的发展简史 JDK1.0 : Sun在1996年年初发布了JDK 1.0,该版本包括两部分:运行环境(即JRE)和开发环境(即JDK).运行环境 ...

  2. Oracle根据日期区间查询Date类型的数据

    在Oracle数据库中,根据日期区间查询Date类型的数据 select proposalno,policyno,enddate from 表名 where 时间字段 between to_date( ...

  3. Oracle type (自定义类型的使用)

    oracle - type type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要 ...

  4. c语言long int表示范围_C语言编程第9讲——这些C语言整数类型的知识点你掌握了吗...

    1.char其实是一种整数类型 在C语言中,字符使用整数来表示. 例如下面的代码: #include int main(){ char letter = '2'; printf("Lette ...

  5. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  6. 非本地类型不能定义方法 cannot define new methods on non-local type time.Duration

    能够随意地为各种类型起名字,是否意味着可以在自己包里为这些类型任意添加方法 ? 参见下面的代码演示 : package mainimport "time"type MyDurati ...

  7. Go 知识点(13) — 如何判断变量类型

    在 Go 语言中可以使用类型断言来判断变量的类型,类型断言的使用有两种方式: 返回两个值,分别是断言为设置类型后的值和断言成功的标志符: 返回一个值,表示断言为设置类型的值: 1. 返回单个值的使用 ...

  8. Go 知识点(05)— 类型别名与类型定义

    1. 类型别名 类型别名需要在别名和原类型之间加上赋值符号 = ,使用类型别名定义的类型与原类型等价,Go 语言内建的基本类型中就存在两个别名类型. byte 是 uint8 的别名类型: rune ...

  9. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  10. Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)

    Redis 的字典是无序字典.Redis 的字典的值只能是字符串,当 hash 移除了最后一个元素之后,该数据结构自动被删除,内存被回收. hash 结构也可以用来存储用户信息,不同于字符串一次性需要 ...

最新文章

  1. Ubuntu下安装Cppcheck源码操作步骤
  2. tcount在哪个文件里_在cad中tcount快速编号命令怎么用,求教
  3. 案例 | 撇开虚荣指标,如何策划一场成功的拉新活动?
  4. 100行代码让您学会JavaScript原生的Proxy设计模式
  5. Windows 10 关闭Hyper-V
  6. [渝粤教育] 西南科技大学 货币银行学 在线考试复习资料
  7. 2014年科目三智能化考试十大必知事项
  8. clamav Java_ClamAV安装使用及API例子
  9. HTML+CSS+JS实现美女canvas仿ps橡皮擦刮刮卡
  10. ReportViewer教程(2)-添加空报表Report1.rdlc
  11. python基础2-数据及字符串知识学习
  12. Android应用开发初印象
  13. JAVA 工厂模式计算器
  14. 西门子g120变频器接线图_西门子S7—1500第二十二讲(G120变频器第二篇)
  15. MAE源代码理解 part2 : 预训练调试
  16. PMP-总价合同、固定合同、工料合同对比
  17. jQuery笔记——工具函数——jQuery标志
  18. 乔布斯那些经典的激励我们的语录
  19. html怎么给视频加遮罩,详解基于canvas的视频遮罩插件
  20. 全面解读java虚拟机(面试考点大全)d

热门文章

  1. 备忘:C++基础 -- 数据类型的学习总结
  2. virtualbox mac-debian共享文件夹
  3. 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小
  4. Perl正则表达式--练习1
  5. [JBoss] - 环境搭建
  6. SQL Activity Monitor
  7. linux内核__force,Linux内核学习:I2C_SLAVE_FORCE
  8. phrases practice_七年级短语、固定搭配练习题Phrases practice for Grade seven
  9. CSDN博客的安全性为什么一直如此薄弱?
  10. 几种 ETL 工具的比较(Kettle,Talend,Informatica 等)