`
swincle
  • 浏览: 76312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP 类型及比较符表

    博客分类:
  • PHP
 
阅读更多

<!--[if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->

以下的表格显示了 PHP 变量类型比较符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。 

在使用这些表格之前,我们需要明白变量类型及它们的意义。例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "false" 是一个字符串。 

HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,我们可以使用 is_numeric() 函数。 

在没有定义变量 $x 的时候,诸如 if ($x) 的用法会导致一个 E_NOTICE 级别的错误。所以,我们可以考虑用 empty() 或者 isset() 函数来初始化变量。 

表格 L-1. 用 PHP 函数对 $x 的比较

表达式

gettype()

empty()

is_null()

isset()

boolean : if($x)

$x = "";

string

TRUE

FALSE

TRUE

FALSE

$x = NULL

NULL

TRUE

TRUE

FALSE

FALSE

var $x;

NULL

TRUE

TRUE

FALSE

FALSE

$x 从未定义

NULL

TRUE

TRUE

FALSE

FALSE

$x = array();

array

TRUE

FALSE

TRUE

FALSE

$x = false;

boolean

TRUE

FALSE

TRUE

FALSE

$x = true;

boolean

FALSE

FALSE

TRUE

TRUE

$x = 1;

integer

FALSE

FALSE

TRUE

TRUE

$x = 42;

integer

FALSE

FALSE

TRUE

TRUE

$x = 0;

integer

TRUE

FALSE

TRUE

FALSE

$x = -1;

integer

FALSE

FALSE

TRUE

TRUE

$x = "1";

string

FALSE

FALSE

TRUE

TRUE

$x = "0";

string

TRUE

FALSE

TRUE

FALSE

$x = "-1";

string

FALSE

FALSE

TRUE

TRUE

$x = "php";

string

FALSE

FALSE

TRUE

TRUE

$x = "true";

string

FALSE

FALSE

TRUE

TRUE

$x = "false";

string

FALSE

FALSE

TRUE

TRUE

表格 L-2. 用 == 进行松散比较

 

TRUE

FALSE

1

0

-1

"1"

"0"

"-1"

NULL

array()

"php"

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

1

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

0

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

-1

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

"1"

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

"0"

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

"-1"

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

NULL

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

FALSE

array()

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

"php"

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

表格 L-3. 用 === 进行严格比较

 

TRUE

FALSE

1

0

-1

"1"

"0"

"-1"

NULL

array()

"php"

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

1

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

0

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

-1

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

"1"

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

"0"

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

"-1"

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

NULL

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

array()

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

"php"

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

PHP 3.0 注意事项在 PHP 3 中,字符串 "0" 被认为是非空的,这个情况在 PHP 4 中发生了改变,它将被认为是空值。

分享到:
评论

相关推荐

    php中文完全开发手册

    PHP 类型及比较符表 M. 解析器代号列表 N. 关于本手册 O. Open Publication License P. 函数索引 Q. 补充说明 X. 微软 HTML 帮助版本 57. 关于此版本 58. Using PHP Manual CHM Edition 59. The Full Text Search ...

    PHP强制对象类型之instanceof操作符

    实际上,在一个Web应用程序的执行期间,PHP 5提供给开发者至少两种方法来检查对象类型——它们分别是“instanceof”操作符和“类型提示”特征。现在转到本文的主题,我将介绍PHP 5中\\\"instanceof\\\"操作符的使用...

    PHP 基础实例教程(PHP网页实例版)

    PHP 比较操作符 PHP 逻辑操作符 PHP 三元操作符 PHP 错误抑制操作符 PHP 执行操作符 PHP 数组操作符 PHP 操作符综合使用 PHP 条件判断/循环 PHP if语句 PHP else语句 PHP elseif语句 PHP switch语句 PHP while循环 ...

    详解php比较操作符的安全问题

    php的比较操作符有==(等于)松散比较,===(完全等于)严格比较,这里面就会引入很多有意思的问题。 在松散比较的时候,php会将他们的类型统一,比如说字符到数字,非bool类型转换成bool类型,为了避免意想不到的...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程28:PHP模板引擎Smarty的变量操作符 PHP100视频教程29:PHP模板引擎Smarty内置函数 PHP100视频教程30:PHP模板引擎Smarty缓存应用 PHP100视频教程31:PHP在线编辑器fckeditor应用 PHP100视频教程...

    PHP和MySQL+WEB开发(非常详细)

    《php和mysql web开发(原书第4版)》:是PHP+MySQL开发的经典教程。 目录 读者反馈 译者序 前言 ...第一篇 使用PHP ...第1章 PHP快速入门教程 ...1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    获得用户操作系统的换行符 获得用户的真实IP地址 计算字符串的长度(汉字按照两个字符计算) 设为主页 转换附件大小单位 转静态函数 遍历文件夹文件 采集网络数据 随机字符串 验证码 验证码类 验证输入的...

    PHP专业基础教程 自学php的首选

    □PHP 3 教程 -- 安装 □PHP 3 教程 -- PHP3 设置 □PHP 3 教程 -- 从HTML中脱离 □PHP 3 教程 -- 语句的脱离方法 □PHP 3 教程 -- 变量类型 □PHP 3 教程 -- 变量的初始化 □PHP 3 教程 -- 初始化数组 □PHP 3 教程...

    php7.3.8手册(官网).zip

    4、PHP 7.0比PHP5.0新增了空接合操作符。 5、PHP 7.0比PHP5.0新增加了结合比较运算符。 6、PHP 7.0比PHP5.0新增加了函数的返回类型声明。 7、PHP 7.0比PHP5.0新增加了标量类型声明。 8、PHP 7.0比PHP5.0新增加匿名类...

    PHP常用函数手册(pdf)

    判断一个编程语言的功能强弱,可以从他的库函数入手。一个较好的编程语言,必然有较强的库函数。 I/O函数 Flush 函数描述:flush(); 说明:函数Flush刷新PHP的输出缓存,...PHP的类型说明符如表所示。 PHP的类型说明符

    PHP常用内置函数(常用)

    PHP常用内置函数 PHP常用函数手册判断一个编程语言的功能强弱,可以从他的库函数入手。一个较好的编程语言,必然有较强的库函数。 I/O函数 Flush 函数描述:flush();...PHP的类型说明符如表所示。

    PHP中=赋值操作符对不同数据类型的不同行为

    作为一个PHP的新手,一直对PHP的引用困惑了很久,今晚仔细看了用户手册和做了一些实验,终于明白了其中的原理和细节,特别是=操作符对于不同类型的不同行为。

    PHP移动后端开发课堂笔记

    2.1.3 语句结束符 2.2 变量与常量 2.2.1 变量 2.2.2 常量 2.3 数据类型 2.3.1 数据类型分类 2.3.2 字符串解析 2.3.3 数据类型检验 2.3.4 数据类型转换 2.4 运算符 2.4.1 算数运算符 2.4.2 赋值运算符 2.4.3 比较...

Global site tag (gtag.js) - Google Analytics