太空船运算符

比较运算符 $a <=> $b 太空船运算符 [php7+]

$a 小于、等于、大于 $b 时, 分别返回一个小于、等于、大于 0int 值。

// 示例
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

使用场景
PHP7 之前:

$arr = [4,2,1,3];
usort($arr, function ($a, $b) {
    if ($a < $b) {
        return -1;
    } elseif ($a > $b) {
        return 1;
    } else {
        return 0;
    }
});

PHP7 之后:

$arr = [4,2,1,3];

usort($arr, function ($a, $b) {
    return $a <=> $b;
});

大家有更多使用场景,都可以评论留言。

讨论数量: 6

有啥好的应用场景

2年前 评论
playmaker (楼主) 2年前
chowjiawei

这个结果是固定的吗
1-1 返回0
1-2 返回-1

2-1 返回1
那3-1 是不是返回2呢

如果是不是固定的话 那和-有什么区别呢~~ 应该是固定的0 -1 和1吧?

2年前 评论
playmaker (楼主) 2年前

@保安 联想需要 1、0、-1值的场景就出现了。 各种用户自定义排序的函数 比如说

usort: www.php.net/manual/en/function.uso...

2年前 评论

这个方法是不是等同于 strcmp啊

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!