分享几个php经常用到的数学函数
abs() 绝对值
number abs ( mixed $number )
返回参数 number 的绝对值。如果参数 number 是 float,则返回的类型也是 float,否则返回 integer(因为 float 通常比 integer 有更大的取值范围)。
- 1
- <?php
- 2
- $abs = abs(-4.2); // $abs = 4.2; (double/float)
- 3
- $abs2 = abs(5); // $abs2 = 5; (integer)
- 4
- $abs3 = abs(-5); // $abs3 = 5; (integer)
- 5
- ?>
ceil() 进一法取整
float ceil ( float $value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
- 1
- <?php
- 2
- echo ceil(4.3); // 5
- 3
- echo ceil(9.999); // 10
- 4
- ?>
floor() 舍去法取整
float floor ( float $value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
- 1
- <?php
- 2
- echo floor(4.3); // 4
- 3
- echo floor(9.999); // 9
- 4
- ?>
round() 对浮点数进行四舍五入
float round ( float $val [, int $precision ] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
- 01
- <?php
- 02
- echo round(3.4); // 3
- 03
- echo round(3.5); // 4
- 04
- echo round(3.6); // 4
- 05
- echo round(3.6, 0); // 4
- 06
- echo round(1.95583, 2); // 1.96
- 07
- echo round(1241757, -3); // 1242000
- 08
- echo round(5.045, 2); // 5.05
- 09
- echo round(5.055, 2); // 5.06
- 10
- ?>
rand() 产生一个随机整数
int rand ([ int $min ], int $max )
如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。
- 1
- <?php
- 2
- echo rand() . “\n”;
- 3
- echo rand() . “\n”;
- 4
- echo rand(5, 15);
- 5
- ?>
max — 找出最大值
mixed max ( number $arg1 , number $arg2 )
mixed max ( array $numbers [, array $… ] )
max() 返回参数中数值最大的值。
如果仅有一个参数且为数组,max() 返回该数组中最大的值。如果第一个参数是整数、字符串或浮点数,则至少需要两个参数而 max() 会返回这些值中最大的一个。可以比较无限多个值。
PHP 会将非数值的 string 当成 0,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最大值,max() 会返回其中数值的 0,如果参数中没有数值的 0,则返回按字母表顺序最大的字符串。
- 01
- <?php
- 02
- echo max(1, 3, 5, 6, 7); // 7
- 03
- echo max(array(2, 4, 5)); // 5
- 04
- echo max(0, ‘hello’); // 0
- 05
- echo max(‘hello’, 0); // hello
- 06
- echo max(-1, ‘hello’); // hello
- 07
- // 对多个数组,max 从左向右比较。
- 08
- // 因此在本例中:2 == 2,但 4 < 5
- 09
- $val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
- 10
- // 如果同时给出数组和非数组作为参数,则总是将数组视为
- 11
- // 最大值返回
- 12
- $val = max(‘string’, array(2, 5, 7), 42); // array(2, 5, 7)
- 13
- ?>
min — 找出最小值
mixed min ( number $arg1 , number $arg2 )
mixed min ( array $numbers [, array $… ] )
min() 返回参数中数值最小的。
如果仅有一个参数且为数组,min() 返回该数组中最小的值。如果给出了两个或更多参数, min() 会返回这些值中最小的一个。
PHP 会将非数值的 string 当成 0,但如果这个正是最小的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最小值,min() 会返回按字母表顺序最小的字符串,如果其中没有字符串的话,则返回数值的 0。 (PS:T不错的php Q扣峮:276167802,验证:csl)
view sourceprint?
- 01
- <?php
- 02
- echo min(2, 3, 1, 6, 7); // 1
- 03
- echo min(array(2, 4, 5)); // 2
- 04
- echo min(0, ‘hello’); // 0
- 05
- echo min(‘hello’, 0); // hello
- 06
- echo min(‘hello’, -1); // -1
- 07
- // 对多个数组,min 从左向右比较。
- 08
- // 因此在本例中:2 == 2,但 4 < 5
- 09
- $val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
- 10
- // 如果同时给出数组和非数组作为参数,则不可能返回数组,因为
- 11
- // 数组被视为最大的
- 12
- $val = min(‘string’, array(2, 5, 7), 42); // string
- 13
- ?>