比较运算符:操作数比较及特殊宇宙飞船操作符,示例代码解析

比较运算符会使用两个操作数,然后对它们进行比较,通常会把比较的结果以布尔值的形式返回,要么是 true,要么是 false。

比较运算符:操作数比较及特殊宇宙飞船操作符,示例代码解析

有四种比较非常直观:

比较运算符

含义

小于

大于

>=

大于等于

有一种特殊的操作符,它被称为宇宙飞船。这种操作符会对两个操作数进行比较,然后返回的是一个整数,而非一个布尔值。

将a与b进行比较时,结果将是:

如果a小于b,则结果小于0,

如果a等于b,则结果为0。

如果a大于b,则结果大于0。

示例代码

var_dump(2 < 3); // true

var_dump(3 < 3); // false

var_dump(3 = 3); // true

var_dump(3 > 3); // false

var_dump(1 2); // 输出一个小于 0 的整数类型数据。它表示对 1 和 2 进行某种操作后得到的结果为小于 0 的整数。

var_dump(1 1); // 0

输出 3 乘以 2 的结果;这是一个整数且大于 0。

执行上面示例代码,得到以下结果:

D:\>php test.php

bool(true)

bool(false)

bool(true)

bool(false)

bool(false)

bool(true)

bool(false)

int(-1)

int(0)

int(1)

有比较运算符可用于评估两个表达式是否相等,不过要留意类型的自动转换。

==运算符会在进行类型自动转换之后去计算两个表达式。它会尝试把两个表达式都转换成相同的类型,接着再进行比较。

相反,运算符“===(相同)”会计算两个不存在类型自动转换的表达式。所以,即便这两个表达式看起来相同,但若它们的类型不同,那么比较的结果将是 false。

这同样适用于!=或(不等于)和!==(不完全相同):

示例代码

$a = 3;

$b = '3';

$c = 5;

var_dump($a == $b); // true

var_dump($a === $b); // false

var_dump($a != $b); // false

var_dump($a !== $b); // true

var_dump($a == $c); // false

var_dump($a $c); // true

执行上面示例代码,得到以下结果:

D:\>php test.php

bool(true)

bool(false)

bool(false)

bool(true)

bool(false)

bool(true)

当测试字符串与表示相同数字的整数比较是否相等时,计算结果为 true 。这是因为 PHP 会先将两者转换为相同的类型。

当对它们是否相同进行测试时,由于它们属于不同类型,因此计算得出的结果是 false。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读