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.
(PHP 4, PHP 5)
pow — Exponential expression
The base to use
base raised to the power of
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||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.|
Example #1 Some examples of pow()
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
This function will convert all input to a number, even non-scalar values, which could lead to weird results.