文字

gmp_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_signSign of number

说明

int gmp_sign ( GMP $a )

Checks the sign of a number.

参数

a

可以是一个 GMP 数据 resouce ,或一个可以转换为数值的字符串。

返回值

Returns 1 if a is positive, -1 if a is negative, and 0 if a is zero.

范例

Example #1 gmp_sign() example

<?php
// positive
echo  gmp_sign ( "500" ) .  "\n" ;

// negative
echo  gmp_sign ( "-500" ) .  "\n" ;

// zero
echo  gmp_sign ( "0" ) .  "\n" ;
?>

以上例程会输出:

1
-1
0

参见

  • gmp_abs() - Absolute value
  • abs() - 绝对值

用户评论:

[#1] jdyerjdyer [2015-11-18 05:04:01]

For conciseness or golfing ;)

$s=$n<0|-($n>0)

where $s sign is 1 if positive, -1 if negative, otherwise -0 or +0 which is still 0

[#2] Andrew Martin [2014-10-03 15:11:36]

Another way for those without GMP:

<?php
function sign($number) {
    return 
$number abs($number ?: 1);
}
?>

[#3] gri501r at yandex dot ru [2014-09-19 12:00:18]

May be it's bug :
     gmp_sign(1) returns 'false'

[#4] krees [2014-04-03 10:37:00]

You can also do this:
<?php
$sign 
min(1max(-1$a));
?>

[#5] thomas at zilliox dot me [2011-10-21 03:11:35]

Hi !

If you don't have the GMP extension, the sign function is really simple to code.
Here an example of implementation :

<?php
function sign$number ) {
    return ( 
$number ) ? : ( ( $number ) ? -);
}

echo 
sign500 ); // Return 1
echo sign( -500 ); // Return -1
echo sign); // Return 0
?>


Thomas.

上一篇: 下一篇: