在 PHP7 中使用飞船运算符
<?php
$sign = $number <=> 0;
?>
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gmp_sign — 数字的符号
如果 num
为正,则返回 1;如果 num
为负,则返回 -1;如果 num
为零,则返回 0。
范例 #1 gmp_sign() 例子
<?php
// 正数
echo gmp_sign("500") . "\n";
// 负数
echo gmp_sign("-500") . "\n";
// 零
echo gmp_sign("0") . "\n";
?>
上面的例子将会输出
1 -1 0
你好!
如果你没有 GMP 扩展,符号函数非常简单。
这是一个实现的例子
<?php
function sign( $number ) {
return ( $number > 0 ) ? 1 : ( ( $number < 0 ) ? -1 : 0 );
}
echo sign( 500 ); // 返回 1
echo sign( -500 ); // 返回 -1
echo sign( 0 ); // 返回 0
?>
Thomas.
另一种方法,适合那些没有 GMP 的人
<?php
function sign($number) {
return $number / abs($number ?: 1);
}
?>