文字

pow

(PHP 4, PHP 5)

pow指数表达式

说明

number pow ( number $base , number $exp )

返回 baseexp 次方的幂。如果可能,本函数会返回 integer

参数

base

The base to use

exp

指数

返回值

baseexp 次方的幂。 If both arguments are non-negative integers and the result can be represented as an integer, the result will be returned with integer type, otherwise it will be returned as a float .

更新日志

版本 说明
4.2.0 如果不能计算幂,将发出一条警告, pow() 将返回 FALSE pow() 开始不产生任何的警告。
4.0.6 如果可能函数现在会返回 integer 的结果,之前 总是返回 float ,For older versions, you may receive a bogus result for complex numbers.

范例

Example #1 pow() 的一些例子

<?php

var_dump
( pow ( 2 8 ));  // int(256)
echo  pow (- 1 20 );  // 1
echo  pow ( 0 0 );  // 1

echo  pow (- 1 5.5 );  // PHP >4.0.6  NAN
echo  pow (- 1 5.5 );  // PHP <=4.0.6 1.#IND
?>

注释

Note:

本函数会转换所有输入为数字,即使是非标量值,会导致怪异的(weird)结果。

参见

  • exp() - 计算 e 的指数
  • sqrt() - 平方根
  • bcpow() - 任意精度数字的成方
  • gmp_pow() - Raise number into power

用户评论:

[#1] scott at arciszewski dot me [2014-02-14 15:24:39]

As of PHP 5.6.0alpha2, there is now an exponentiation operator. If this is kept in the final release, it may be worth noting here.

<?php
// These two will be equivalent as of PHP 5.6.0
$x $y ** 2;
$x pow($y2);
?>

[#2] chris at ocportal dot com [2012-05-21 16:05:11]

Many notations use "^" as a power operator, but in PHP (and other C-based languages) that is actually the XOR operator. You need to use this 'pow' function, there is no power operator.

i.e. 3^2 means "3 XOR 2" not "3 squared".

It is particular confusing as when doing Pythagoras theorem in a 'closet points' algorithm using "^" you get results that look vaguely correct but with an error.

[#3] gilthansREMOVEME at gmail dot com [2006-12-15 07:50:29]

Note that pow(0, 0) equals to 1 although mathematically this is undefined.

上一篇: 下一篇: