3

PHP 类型比较表

 2 years ago
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 != NANNAN !== 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
    • studygolang.com 3 years ago
    • Cache

    浅析go中的类型比较

    概述 在最近的面试中被面试官问到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
    • blog.csdn.net 5 years ago
    • Cache

    PHP弱类型安全

    PHP 弱类型安全主要是由两部分组成: 变量是弱类型,比较时会自动转换 PHP 内置函数对于传入参数的松散处理 比较时的自动转换 PHP 中在使用 == 比较

  • 42
    • www.cnblogs.com 3 years ago
    • Cache

    PHP入门之类型与运算符(一)

    前言 PHP对于大部分人来说,是比较容易入门的。笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理。第一部分是类型与运算符。如果你想学习PHP,可以参考PHP学习手册学习,任何一本教学资料也没有PHP学习手册讲的...

  • 9

    浅谈PHP弱类型安全 小飞 ·...

  • 4

    一些不常用的PHP字符类型检测函数 - 何晓东的博客 | alpha blog主要是 Ctype 扩展所提供的函数,用来检测在当前的区域设定下,一个字符或者字符串,是否仅包含指定类型的字符。此类函数用来替代简单的正则验证,效率高于正则验证。参数为字符串,如果给...

  • 0
    • petrie.github.io 2 years ago
    • Cache

    PHP 枚举类型

    PHP没有原声的枚举,从Java转过来的就懵逼了。那么怎么才能在PHP中使用枚举,而且又能被IDE识别呢。Constants(define)是一种办法,但是他是全局的,有命名空间冲突的问题。虽然数组没有命名空间问题,但是数组定义常量太模糊,而且运行时是可以被覆盖的,而且...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK