PHP 类型比较表
source link: https://www.php.net/manual/zh/types.comparisons.php
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
PHP 类型比较表 ¶
以下的表格显示了 PHP 类型 和 比较运算符 在松散和严格比较时的作用。该补充材料还和 类型戏法 的相关章节内容有关。同时,大量的用户注释和 » BlueShoes 的工作也给该材料提供了帮助。
在使用这些表格之前,需要明白变量类型及它们的意义。例如,"42"
是一个字符串而
42
是一个整数。false
是一个布尔值而 "false"
是一个字符串。
注意:
HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,可以使用 is_numeric() 函数。
注意:
在没有定义变量 $x 的时候,诸如
if ($x)
的用法会导致一个E_NOTICE
级别的错误。所以,可以考虑用 empty() 或者 isset() 函数来初始化变量。
注意:
某些数值操作会导致一个特殊值,可以用常量
NAN
表示。 无论是松散还是严格比较,这个值和其他任意值(包括它自身,但排除true
)比较时都会产生false
的结果, 例如NAN != NAN
和NAN !== NAN
。 导致NAN
的操作例子包括sqrt(-1)
、asin(2)
、acosh(0)
。
使用 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 is undefined
NULL
true
true
false
false
$x = [];
array
true
false
true
false
$x = ['a', 'b'];
array
false
false
true
true
$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
松散比较 ==
true
false
1
0
-1
"1"
"0"
"-1"
null
[]
"php"
""
true
true
false
true
false
true
true
false
true
false
false
true
false
false
false
true
false
true
false
false
true
false
true
true
false
true
1
true
false
true
false
false
true
false
false
false
false
false
false
0
false
true
false
true
false
false
true
false
true
false
false
*
false
*
-1
true
false
false
false
true
false
false
true
false
false
false
false
"1"
true
false
true
false
false
true
false
false
false
false
false
false
"0"
false
true
false
true
false
false
true
false
false
false
false
false
"-1"
true
false
false
false
true
false
false
true
false
false
false
false
null
false
true
false
true
false
false
false
false
true
true
false
true
[]
false
true
false
false
false
false
false
false
true
true
false
false
"php"
true
false
false
false
*
false
false
false
false
false
false
true
false
""
false
true
false
false
*
false
false
false
false
true
false
false
true
* 代表在 PHP 8.0.0 之前为 true
。
严格比较 ===
true
false
1
0
-1
"1"
"0"
"-1"
null
[]
"php"
""
true
true
false
false
false
false
false
false
false
false
false
false
false
false
false
true
false
false
false
false
false
false
false
false
false
false
1
false
false
true
false
false
false
false
false
false
false
false
false
0
false
false
false
true
false
false
false
false
false
false
false
false
-1
false
false
false
false
true
false
false
false
false
false
false
false
"1"
false
false
false
false
false
true
false
false
false
false
false
false
"0"
false
false
false
false
false
false
true
false
false
false
false
false
"-1"
false
false
false
false
false
false
false
true
false
false
false
false
null
false
false
false
false
false
false
false
false
true
false
false
false
[]
false
false
false
false
false
false
false
false
false
true
false
false
"php"
false
false
false
false
false
false
false
false
false
false
true
false
""
false
false
false
false
false
false
false
false
false
false
false
true
Recommend
-
51
绝望的祖父0.242019.04.15 16:34:33字数 2,922阅读 559本文翻译自
-
0
概述 在最近的面试中被面试官问到go之间的类型比较,回答的并不是非常好,根本上来说还是基础不够牢固啊!看了网上的一堆资料,自己做了一些简单的总结,哈哈! go中的类型 首先来看看go包含的最基础的集...
-
4
PHP 求解字符串比较-一次编辑 PHP 求解字符串比较-一次编辑...
-
7
php比较操作符的安全问题 xxlegend ·...
-
7
PHP框架最新性能压力测试比较 | Lenix Blog有人说PHP性能低?go语言性能高?到底谁高谁低数据说话!我们就来实际对比一下各PHP框架及一款go语言框架的性能是怎样的。 硬件: CPU:Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz 16核心。
-
43
PHP 弱类型安全主要是由两部分组成: 变量是弱类型,比较时会自动转换 PHP 内置函数对于传入参数的松散处理 比较时的自动转换 PHP 中在使用 == 比较
-
42
前言 PHP对于大部分人来说,是比较容易入门的。笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理。第一部分是类型与运算符。如果你想学习PHP,可以参考PHP学习手册学习,任何一本教学资料也没有PHP学习手册讲的...
-
9
浅谈PHP弱类型安全 小飞 ·...
-
4
一些不常用的PHP字符类型检测函数 - 何晓东的博客 | alpha blog主要是 Ctype 扩展所提供的函数,用来检测在当前的区域设定下,一个字符或者字符串,是否仅包含指定类型的字符。此类函数用来替代简单的正则验证,效率高于正则验证。参数为字符串,如果给...
-
0
PHP没有原声的枚举,从Java转过来的就懵逼了。那么怎么才能在PHP中使用枚举,而且又能被IDE识别呢。Constants(define)是一种办法,但是他是全局的,有命名空间冲突的问题。虽然数组没有命名空间问题,但是数组定义常量太模糊,而且运行时是可以被覆盖的,而且...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK