- PHP 教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混杂
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与 I/O
- PHP - 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较符(太空船运算符)
- PHP 控制语句
- PHP - 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象的 PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET & POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 净化输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - Bug 调试
- PHP - 给 C 开发者
- PHP - 给 PERL 开发者
- PHP - 框架
- PHP - Core PHP vs. 框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望值
- PHP - use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - GMP 函数
什么是 GMP?
GMP 代表 GNU 多精度算术库 (GNU Multiple Precision Arithmetic Library)。
GMP 是 PHP 中支持的一个库,允许你对有符号整数、有理数和浮点数进行数学运算。GMP 拥有丰富的函数集合,有助于对大数执行复杂的数学运算。据说 GMP 在计算非常大的数字的最终结果时速度更快。
GMP 在密码学、互联网安全以及处理算术运算的软件中非常有用。
在 PHP 中安装 GMP
GMP 模块默认添加到 PHP 中。你可以通过移除 php.ini 文件扩展名部分开头处的 (;) `;extension=gmp` 来激活它。之后重启 Apache 并确认更改是否生效。将下面的代码保存为 .php 文件并在浏览器中执行。
<?php phpinfo(); ?>
你应该会在浏览器中看到 GMP 已启用,如下所示:
GMP 函数
下表列出了所有与 PHP GMP 函数相关的函数。其中“版本”列表示支持该函数的最早 PHP 版本。
序号 | 函数及描述 | 版本 |
---|---|---|
1 | gmp_abs()
返回绝对值 |
5.0.0 |
2 | gmp_add()
返回两个数的和 |
5.0.0 |
3 | gmp_and()
返回两个数的按位与比较结果 |
5.0.0 |
4 | gmp_binomial()
计算二项式系数 |
7.3.0 |
5 | gmp_clrbit()
清除位 |
5.0.0 |
6 | gmp_cmp()
比较两个 GMP 数 |
5.0.0 |
7 | gmp_com()
计算反码 |
5.0.0 |
8 | gmp_div_q()
除以给定的数 |
5.0.0 |
9 | gmp_div_qr()
除以给定的数并返回商和余数 |
5.0.0 |
10 | gmp_div_r()
除以给定的数并返回余数 |
5.0.0 |
11 | gmp_div()
除以给定的数 |
5.0.0 |
12 | gmp_divexact()
给出给定数字的精确除法结果 |
5.0.0 |
13 | gmp_export()
导出二进制字符串 |
5.6.1 |
14 | gmp_fact()
计算给定数字的阶乘 |
5.0.0 |
15 | gmp_gcd()
计算给定数字的最大公约数 (GCD) |
5.0.0 |
16 | gmp_gcdext()
计算给定数字的最大公约数 (GCD) 和乘数 |
5.0.0 |
17 | gmp_hamdist()
计算两个给定数字之间的汉明距离 |
5.0.0 |
18 | gmp_import()
从二进制字符串导入 |
5.6.1 |
19 | gmp_init()
创建一个 GMP 数 |
5.0.0 |
20 | gmp_intval()
将 GMP 数转换为整数 |
5.0.0 |
21 | gmp_invert()
返回给定 GMP 数的模反元素 |
5.0.0 |
22 | gmp_jacobi()
计算雅可比符号 |
5.0.0 |
23 | gmp_kronecker()
计算克罗内克符号 |
7.3.0 |
24 | gmp_lcm()
计算给定 GMP 数的最小公倍数 (LCM) |
7.3.0 |
25 | gmp_legendre()
计算勒让德符号 |
5.0.0 |
26 | gmp_mod()
返回模数 |
5.0.0 |
27 | gmp_mul()
乘以 GMP 数 |
5.0.0 |
28 | gmp_neg()
返回给定数字的负值 |
5.0.0 |
29 | gmp_nextprime()
帮助查找下一个素数 |
5.2.0 |
30 | gmp_or()
计算给定数字的按位或结果 |
5.0.0 |
31 | gmp_perfect_power()
检查 GMP 数是否为完全幂 |
7.3.0 |
32 | gmp_perfect_square()
检查 GMP 数是否为完全平方数 |
5.0.0 |
33 | gmp_popcount()
计算总体计数 |
5.0.0 |
34 | gmp_pow()
返回给定数字的幂的结果 |
5.0.0 |
35 | gmp_powm()
返回具有给定数字的幂以及模的新数字 |
5.0.0 |
36 | gmp_prob_prime()
检查 GMP 数是否为素数 |
5.0.0 |
37 | gmp_random_bits()
返回随机数 |
5.6.3 |
38 | gmp_random_range()
返回给定最小值和最大值之间的随机数 |
5.6.3 |
39 | gmp_random_seed()
设置种子以生成随机数 |
7.0.0 |
40 | gmp_random()
返回随机数。 |
5.0.0 |
41 | gmp_root()
返回根的整数值 |
5.6.0 |
42 | gmp_rootrem()
返回 n 次根的整数值和余数 |
5.6.0 |
43 | gmp_scan0()
扫描给定数字中的 0 |
5.0.0 |
44 | gmp_scan1()
扫描给定数字中的 1 |
5.0.0 |
45 | gmp_setbit()
设置给定 GMP 数字的位索引 |
5.0.0 |
46 | gmp_sign()
返回给定数字的符号 |
5.0.0 |
47 | gmp_sqrt()
计算平方根 |
5.0.0 |
48 | gmp_sqrtrem()
计算带余数的平方根 |
5.0.0 |
49 | gmp_strval()
将给定的 GMP 数转换为字符串 |
5.0.0 |
50 | gmp_sub()
返回两个给定数字之间的差 |
5.0.0 |
51 | gmp_testbit()
测试给定索引的位是否已设置 |
5.3.0 |
52 | gmp_xor()
计算给定数字的按位异或结果 |
5.0.0 |