parent root
PHP: pow - Manual

pow

(PHP 4, PHP 5, PHP 7)

powExponential expression

Description

pow ( number $base , number $exp ) : number

Returns base raised to the power of exp.

Note:

In PHP 5.6 onwards, you may prefer to use the ** operator.

Parameters

base

The base to use

exp

The exponent

Return Values

base raised to the power of exp. 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.

Examples

Example #1 Some examples of pow()

<?php

var_dump
(pow(28)); // int(256)
echo pow(-120); // 1
echo pow(00); // 1
echo pow(10, -1); // 0.1

echo pow(-15.5); // PHP >=5.2.2: NAN
echo pow(-15.5); // PHP <5.2.2: -NAN
?>

Notes

Note:

This function will convert all input to a number, even non-scalar values, which could lead to weird results.

See Also

  • exp() - Calculates the exponent of e
  • sqrt() - Square root
  • bcpow() - Raise an arbitrary precision number to another
  • gmp_pow() - Raise number into power
add a noteadd a note

User Contributed Notes 5 notes

up
36
chris at ocportal dot com
7 years ago
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.
up
14
gilthansREMOVEME at gmail dot com
12 years ago
Note that pow(0, 0) equals to 1 although mathematically this is undefined.
up
3
raiika
11 months ago
It is official now that you could use

<?php

2
** 3; // 8

// instead of

pow(2, 3); // 8

?>
up
6
scott at arciszewski dot me
5 years ago
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($y, 2);
?>
up
0
jaxx1rr at gmail dot com
2 days ago
funny thing

number_format(pow(2, 1023));
gives a long number

but number_format(pow(2, 1024));
gives inf
To Top
parent root