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.
pow
(PHP 4, PHP 5)
pow — Exponential expression
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.
Changelog
| Version | Description |
|---|---|
| 4.2.0 | No warning is emitted on errors, even if the value can't be computed. |
| 4.0.6 | The function will now return integer results if possible, before this it always returned a float result. For older versions, you may receive a bogus result for complex numbers. |
Examples
Example #1 Some examples of 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
?>
Notes
Note:
This function will convert all input to a number, even non-scalar values, which could lead to weird results.
chris at ocportal dot com ¶
11 months ago
gilthansREMOVEME at gmail dot com ¶
6 years ago
Note that pow(0, 0) equals to 1 although mathematically this is undefined.
