pow() 函数返回 base 的 exp 次幂。如果参数都是非负整数且结果可以用整数表示,则返回 int 类型,否则返回 float 类型。
** 运算符进行幂运算,例如 $base ** $exp。
pow(mixed $base, mixed $exp): mixed
| 参数 | 描述 |
|---|---|
base |
必需。规定底数。 |
exp |
必需。规定指数。 |
返回 base 的 exp 次幂。如果结果可以表示为整数,则返回 int 类型,否则返回 float 类型。如果 base 是负数且 exp 不是整数,则返回 NAN(非数字)。
<?php
echo pow(2, 3) . "<br>"; // 8
echo pow(5, 2) . "<br>"; // 25
echo pow(10, 0) . "<br>"; // 1
echo pow(4, -2) . "<br>"; // 0.0625 (1/16)
?>
输出:
8
25
1
0.0625
<?php
echo pow(9, 0.5) . "<br>"; // 3 (平方根)
echo pow(27, 1/3) . "<br>"; // 3 (立方根)
echo pow(2, 3.5) . "<br>"; // 约 11.313708498985 (2^3.5)
?>
输出:
3
3
11.313708498985
<?php
$result = pow(-2, 0.5); // 负数开平方,无实数结果
if (is_nan($result)) {
echo "pow(-2, 0.5) 结果为 NAN (非数字)";
} else {
echo $result;
}
?>
输出:
pow(-2, 0.5) 结果为 NAN (非数字)
<?php
// 复利公式 A = P(1 + r/n)^(nt)
function compoundInterest($principal, $rate, $timesPerYear, $years) {
return $principal * pow(1 + $rate / $timesPerYear, $timesPerYear * $years);
}
$principal = 1000;
$rate = 0.05;
$timesPerYear = 12; // 每月复利
$years = 5;
$amount = compoundInterest($principal, $rate, $timesPerYear, $years);
echo "本金 $principal,年利率 $rate,$years 年后本息和为:" . round($amount, 2);
?>
输出:
本金 1000,年利率 0.05,5 年后本息和为:1283.36
INF(无穷大)。PHP 5.6+ 中溢出行为可能因平台而异。base 是负数且 exp 不是整数,结果在数学上是复数,PHP 返回 NAN。int 表示时,返回 int,否则返回 float。