分享几个php经常用到的数学函数

abs()  绝对值
number abs ( mixed $number )
返回参数 number 的绝对值。如果参数 number 是 float,则返回的类型也是 float,否则返回 integer(因为 float 通常比 integer 有更大的取值范围)。

[php][/php]

  1. 1
  2. <?php
  3. 2
  4. $abs = abs(-4.2); // $abs = 4.2; (double/float)
  5. 3
  6. $abs2 = abs(5);   // $abs2 = 5; (integer)
  7. 4
  8. $abs3 = abs(-5);  // $abs3 = 5; (integer)
  9. 5
  10. ?>

ceil() 进一法取整
float ceil ( float $value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

[php][/php]

  1. 1
  2. <?php
  3. 2
  4.  echo ceil(4.3);    // 5
  5. 3
  6.  echo ceil(9.999);  // 10
  7. 4
  8.  ?>

floor() 舍去法取整
float floor ( float $value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

[php][/php]

  1. 1
  2. <?php
  3. 2
  4.   echo floor(4.3);   // 4
  5. 3
  6.   echo floor(9.999); // 9
  7. 4
  8.   ?>

round() 对浮点数进行四舍五入
float round ( float $val [, int $precision ] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

[php][/php]

  1. 01
  2. <?php
  3. 02
  4.  echo round(3.4);         // 3
  5. 03
  6.  echo round(3.5);         // 4
  7. 04
  8.  echo round(3.6);         // 4
  9. 05
  10.  echo round(3.6, 0);      // 4
  11. 06
  12.  echo round(1.95583, 2);  // 1.96
  13. 07
  14.  echo round(1241757, -3); // 1242000
  15. 08
  16.  echo round(5.045, 2);    // 5.05
  17. 09
  18.  echo round(5.055, 2);    // 5.06
  19. 10
  20.  ?>

rand() 产生一个随机整数
int rand ([ int $min ], int $max )
如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。

[php][/php]

  1. 1
  2. <?php
  3. 2
  4.  echo rand() . “\n”;
  5. 3
  6.  echo rand() . “\n”;
  7. 4
  8.  echo rand(5, 15);
  9. 5
  10.  ?>

max — 找出最大值
mixed max ( number $arg1 , number $arg2 )
mixed max ( array $numbers [, array $… ] )
max() 返回参数中数值最大的值。
如果仅有一个参数且为数组,max() 返回该数组中最大的值。如果第一个参数是整数、字符串或浮点数,则至少需要两个参数而 max() 会返回这些值中最大的一个。可以比较无限多个值。
PHP 会将非数值的 string 当成 0,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最大值,max() 会返回其中数值的 0,如果参数中没有数值的 0,则返回按字母表顺序最大的字符串。

[php][/php]

  1. 01
  2. <?php
  3. 02
  4.  echo max(1, 3, 5, 6, 7);  // 7
  5. 03
  6.  echo max(array(2, 4, 5)); // 5
  7. 04
  8.  echo max(0, ‘hello’);     // 0
  9. 05
  10.  echo max(‘hello’, 0);     // hello
  11. 06
  12.  echo max(-1, ‘hello’);    // hello
  13. 07
  14.  // 对多个数组,max 从左向右比较。
  15. 08
  16.  // 因此在本例中:2 == 2,但 4 < 5
  17. 09
  18.  $val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
  19. 10
  20.  // 如果同时给出数组和非数组作为参数,则总是将数组视为
  21. 11
  22.  // 最大值返回
  23. 12
  24.  $val = max(‘string’, array(2, 5, 7), 42);   // array(2, 5, 7)
  25. 13
  26.  ?>

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?

[php][/php]

  1. 01
  2. <?php
  3. 02
  4.     echo min(2, 3, 1, 6, 7);  // 1
  5. 03
  6.     echo min(array(2, 4, 5)); // 2
  7. 04
  8.     echo min(0, ‘hello’);     // 0
  9. 05
  10.     echo min(‘hello’, 0);     // hello
  11. 06
  12.     echo min(‘hello’, -1);    // -1
  13. 07
  14.     // 对多个数组,min 从左向右比较。
  15. 08
  16.     // 因此在本例中:2 == 2,但 4 < 5
  17. 09
  18.     $val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
  19. 10
  20.     // 如果同时给出数组和非数组作为参数,则不可能返回数组,因为
  21. 11
  22.     // 数组被视为最大的
  23. 12
  24.     $val = min(‘string’, array(2, 5, 7), 42);   // string
  25. 13
  26.     ?>

标签