`
swincle
  • 浏览: 79169 次
  • 性别: 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学习笔记(三)操作符与控制结构

    PHP支持多种类型的操作符,包括算术操作符、赋值操作符、比较运算符、逻辑运算符、三元操作符、错误抑制操作符和数组操作符等。 1. 算术操作符用于基本的数学运算,如加法、减法、乘法、除法和取余等。 2. 赋值操作...

    PHP7 新特性:合并运算符、太空船运算符(组合比较符).md

    在PHP 7.0中,另一个值得关注的新特性是太空船运算符(Spaceship Operator)或组合比较符(Combined Comparison Operator),它使用`&lt;=&gt;`作为符号。这个运算符主要用于比较两个表达式的值,并根据它们的相对顺序返回...

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

    在PHP编程中,比较操作符是日常开发中不可或缺的一部分,但如果不谨慎使用,可能会引发一些安全问题。本文将深入探讨PHP中的比较操作符,特别是松散比较(==)和严格比较(===)带来的潜在风险。 首先,让我们了解...

    九九乘法表(PHP)

    标题中的“九九乘法表(PHP)”指的是使用PHP编程语言实现的中国传统数学乘法口诀表。九九乘法表,又称乘法口诀表,是学习基础数学乘法的重要工具,它包含了1到9的所有整数的乘积。在PHP中实现这个功能,可以作为一...

    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编程语言中,定界符(Heredoc)是一种特殊类型的字符串定义方式,它允许开发者以一种方便的方式来创建多行字符串,同时还能在字符串中直接包含变量。PHP的定界符使用技巧对于编写整洁、易读的代码至关重要。...

    第三章 php操作符与控制结构代码

    ### 三、比较操作符 - `==` 等于(比较值是否相等,忽略类型) - `===` 全等于(值相等且类型相同) - `!=` 不等于 - `!==` 不全等于 - `小于 - `&gt;` 大于 - `小于或等于 - `&gt;=` 大于或等于 例如: ```php $a = 5; $...

    用PHP操纵Oracle的LOB类型的数据

    - 使用`OCINewDescriptor()`生成一个本地LOB对象的描述符,并指定类型为`OCI_D_LOB`。 - 使用`OCIBindByName()`将生成的LOB对象绑定到SQL语句中的LOB字段。 - 执行SQL语句。 - 给LOB对象赋值,例如通过`savefile...

    PHP的标量类型002

    在PHP编程语言中,标量类型是其基本的数据类型,它们包括整型(integer)、浮点型(float)、字符串(string)和布尔型(boolean)。这些类型构成了PHP处理数据的基础,理解和熟练掌握它们对于编写高效、可靠的代码...

    20-T20:php弱类型.zip

    3. **比较操作符**:PHP的比较操作可能导致意料之外的结果,特别是在不同类型之间比较时。例如,`"1" == 1` 为真,因为两者在比较时都被转换成了数字。 4. **类型提示**:在函数参数和返回值中,PHP允许使用类型...

    PHP生成excel时单元格内换行问题的解决方法

    为了解决这个问题,首先尝试使用不同类型的换行符,比如"\n"、"\r\n"以及PHP内置的换行常量PHP_EOL。但这些尝试常常不能解决跨平台的兼容性问题,尤其是在不同的操作系统中,比如Windows和Linux对于换行符的处理存在...

Global site tag (gtag.js) - Google Analytics