php中<=> 是太空船操作符,也称为三向比较运算符。返回三种结果
用法:
$a <=> $b
如果 $a < $b,返回 -1
如果 $a == $b,返回 0
如果 $a > $b,返回 1
运用场景:
- 排序
<?php //关键点总结 //升序:return $a <=> $b //降序:return $b <=> $a //usort 只关心返回值的正负: //无论返回 -1 还是 -100,只要为负数,$a 都会被排在前面。 //无论返回 1 还是 100,只要为正数,$a 都会被排在后面。 $sortArray = [1, 5, 9, 10, 99, 12]; //升序排序 //升序:return $a <=> $b 或者 $a > $b 或者 $a - $ function ascUsort($sortArray) { //使用usort进行自定义排序 usort($sortArray, function ($a, $b) { //无论返回 -1 还是 -100,只要为负数,$a 都会被排在前面。 //无论返回 1 还是 100,只要为正数,$a 都会被排在前面。 return $a <=>$b; //$a>$b 返回1 $a<$b返回-1 }); print_r($sortArray); } usort($array, fn($a, $b) => $a <=> $b); // 升序 //降序排序 function descUsort($sortArray) { //使用usort进行自定义排序 usort($sortArray, function ($a, $b) { //无论返回 -1 还是 -100,只要为负数,$a 都会被排在前面。 //无论返回 1 还是 100,只要为正数,$a 都会被排在前面。 return $b <=> $a; }); print_r($sortArray); } usort($array, fn($a, $b) => $b <=> $a); // 降序 echo '升序排序' . ascUsort($sortArray); echo '降序排序' . descUsort($sortArray); - 比较
$a = 1;
$b = 3;
$c = 4;
$d = 2;
-1 1
$result = ($a <=> $b) ?: ($c <=> $d);
var_dump($result); //结果为:-1
602

被折叠的 条评论
为什么被折叠?



