You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP太空船运算符<=>是否存在-1、0、1之外的返回值?

PHP太空船运算符返回值规则解答

该结论恒定成立,PHP的太空船运算符(<=>)的返回值只会是-1、0、1三个整数,不存在其他返回结果。

  • 该运算符是PHP 7版本引入的组合比较符,核心作用是完成两个操作数的大小比较,返回值严格遵循以下规则:
    • 左操作数小于右操作数时,返回-1
    • 左操作数等于右操作数时,返回0
    • 左操作数大于右操作数时,返回1
  • 你看到的“返回小于、等于或大于0的整数”属于比较运算符的通用描述,本身没有问题,但PHP的官方实现中对非零返回值做了严格限定,只会输出±1,不会出现2、-3这类其他整数结果,该规则适用于所有支持的操作数类型比较场景,包括数值、字符串、数组、对象等。

你可以通过以下代码验证该规则:

// 数值比较示例
var_dump(3 <=> 10);  // int(-1)
var_dump(10 <=> 10); // int(0)
var_dump(10 <=> 3);  // int(1)

// 字符串比较示例
var_dump("apple" <=> "banana"); // int(-1)
var_dump("test" <=> "test");    // int(0)
var_dump("zoo" <=> "apple");    // int(1)

内容的提问来源于stack exchange,提问作者dstrube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:45:04