太空船运算符
比较运算符 $a <=> $b
太空船运算符 [php7+]
当
$a
小于、等于、大于$b
时, 分别返回一个小于、等于、大于0
的int
值。
// 示例
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;
});
大家有更多使用场景,都可以评论留言。
有啥好的应用场景
这个结果是固定的吗
1-1 返回0
1-2 返回-1
2-1 返回1
那3-1 是不是返回2呢
如果是不是固定的话 那和-有什么区别呢~~ 应该是固定的0 -1 和1吧?
@保安 联想需要 1、0、-1值的场景就出现了。 各种用户自定义排序的函数 比如说
usort: www.php.net/manual/en/function.uso...
这个方法是不是等同于 strcmp啊