bccomp — 比较两个任意精度的数字
- bccomp ( string $left_operand , string $right_operand [, int $scale = int ] ) : int
- 参数解释
- left_operand左边的运算数, 是一个字符串.
- right_operand右边的运算数, 是一个字符串.
- scale可选的scale参数被用作设置指示数字, 在使用来作比较的小数点部分.
如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.
已验证:如果参数是字符串,不论这个字符串是什么,这个字符串始终是0。参数可以为数字作比较。
bcdiv2个任意精度的数字除法计算
- bcdiv ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
- 左操作数除以右操作数
返回结果为字符串类型的结果,如果右操作数是0结果为null
已验证:除法结果始终取整,除非指定第三参数.,否则,只保留整数
bcmod — 对一个任意精度数字取模
- bcmod ( string $left_operand , string $modulus ) : string
- 对左操作数使用系数取模
- 返回字符串类型取模后结果,如果系数为0则返回null
取模运算实际就是=被除数-除数x(被除数/除数的整数值),例如 100%17 则 100=175+15 那么100%17=15。这里15就是100-175。也就是100%17取模的结果
已验证:取模的结果始终是一个不包含小数点的数字
bcmul — 2个任意精度数字乘法计算
- bcmul ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
- 左操作数乘以右操作数
返回结果为字符串类型.
已验证:
- 如果两个参数的第一位小数点之和大于等于2小于5,则结果值加1。
- 如果两个参数的第一位小数点之和大于等于5小于8,则结果值加2。
- 如果两个参数的第一位小数点之和大于等于8小于等于10,则结果值加3。
bcpow — 任意精度数字的乘方
- bcpow ( string $left_operand , string $right_operand [, int $scale ] ) : string
- 左操作数的右操作数次方运算.
- 已验证:默认操作不保留小数点,第三参数指定保留小数点位数,才有小数点。
base_convert — 在任意进制之间转换数字
- base_convert ( string $number , int $frombase , int $tobase ) : string
- number 要转换的数字
- frombase 当前进制
- tobase 要转换的进制
- base_convert ( string $number , int $frombase , int $tobase ) : string
bindec — 二进制转换为十进制
- decbin ( int $number ) : string
decbin — 十进制转换为二进制
- decbin ( int $number ) : string
dechex — 十进制转换为十六进制
- dechex ( int $number ) : string
decoct — 十进制转换为八进制
- decoct ( int $number ) : string
floor — 舍去法取整
- 注意:如果是负数取整的话负数存在小数点且小数点第一位大于等于1的话,结果值加1
fmod — 返回除法的浮点数余数
- fmod ( float $x , float $y ) : float
- 除法计算返回值的余数,参数可为整数,返回结果始终是浮点
hexdec — 十六进制转换为十进制
- hexdec ( string $hex_string ) : number
intdiv — 对除法结果取整
- intdiv ( int $dividend , int $divisor ) : int
- dividend 除以 divisor 的商,对该商取整。
- 如果 divisor 是 0,将抛出 DivisionByZeroError 异常。 如果 dividend 是 PHP_INT_MIN 并且 divisor 是 -1,将抛出 ArithmeticError 异常.
is_finite — 判断是否为有限值
- is_finite ( float $val ) : bool
- 如果 val 是本机平台上 PHP 浮点数所允许范围中的一个合法的有限值,则返回 TRUE。
is_infinite — 判断是否为无限值
- 如果 val 为无穷大返回 TRUE,否则返回 FALSE。、
is_nan — 判断是否为合法数值
- is_nan ( float $val ) : bool
- 如果 val 不是一个数字(not a number)返回 TRUE,否则返回 FALSE。
- 注:此处我懵逼了,这个函数竟然是—不是数字返回true。是数字返回false
lcg_value — 组合线性同余发生器
- lcg_value ( void ) : float
- 范围为 (0, 1) 的伪随机数。
round — 对浮点数进行四舍五入
- 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
- round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] ) : float
- val要处理的值
- precision可选的十进制小数点后数字的数目。
- mode以下之一: PHP_ROUND_HALF_UP、 PHP_ROUND_HALF_DOWN PHP_ROUND_HALF_EVEN 或 PHP_ROUND_HALF_ODD
ctype_alnum — 做字母和数字字符检测
- 如果text中所有的字符全部是字母和(或者)数字,返回 TRUE 否则返回FALSE
ctype_alpha — 做纯字符检测
- 如果在当前语言环境中 text 里的每个字符都是一个字母,那么就返回TRUE,反之则返回FALSE。
ctype_cntrl — 做控制字符检测
- 控制字符就是例如:换行、缩进、空格。
- 如果在当前的语言环境下 text 里面的每个字符都是控制字符,就返回 TRUE ;反之就返回 FALSE 。
ctype_digit — 做纯数字检测
- 如果 text 字符串是一个十进制数字,就返回 TRUE ;反之就返回 FALSE
ctype_graph — 做可打印字符串检测,空格除外
- 如果 text 里面的每个字符都是输出可见的(没有空白),就返回 TRUE ;反之就返回 FALSE 。
ctype_lower — 做小写字符检测
- 如果在当前的语言环境下 text 里面的每个字符都是小写字母,就返回 TRUE ;反之就返回 FALSE 。
ctype_print — 做可打印字符检测
- 如果在当前的语言环境下 text 里面的每个字符都能被实际输出(包括空白),就返回 TRUE ;如果 text 里面包含控制字符或者那些根本不会有任何输出的字符串,就返回 FALSE 。
ctype_punct — 检测可打印的字符是不是不包含空白、数字和字母
- 如果在 text 里面的每个字符都是能打印的,但不是字母、数字,也不是空白,那么就返回 TRUE ;反之则返回 FALSE 。
ctype_upper — 做大写字母检测
- 在当前语言环境下,如果 text 里面的每个字符都是大写字母,就返回 TRUE。
ctype_xdigit — 检测字符串是否只包含十六进制字符
- 如果 text 里面的每个字符都是十六进制字符。也就是只能包含十进制的树枝和 [A-Fa-f] 的字母。否则,返回 FALSE
filter_has_var — 检测是否存在指定类型的变量
- typeINPUT_GET、 INPUT_POST、 INPUT_COOKIE、 INPUT_SERVER、 INPUT_ENV 里的其中一个。
- variable_name要检查的变量名。
- 成功时返回 TRUE, 或者在失败时返回 FALSE。
register_shutdown_function — 注册一个会在php中止时执行的函数
- callback待注册的中止回调
- 中止回调是作为请求的一部分被执行的,因此可以在它们中进行输出或者读取输出缓冲区。
- parameter 可以通过传入额外的参数来将参数传给中止函数
- 可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。
- 如果传入的callback不是可调用的,那么将会产生一个 E_WARNING 级别的错误。
本文链接: https://erik.xyz/2019/10/15/php-math-han-shu/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!