pow
(PHP 4, PHP 5)
pow — Exponential expression
Описание
Returns base raised to the power of exp .
Внимание
In PHP 4.0.6 and earlier pow() always returned a float, and did not issue warnings.
Список параметров
- base
-
The base to use
- exp
-
The exponent
Возвращаемые значения
base raised to the power of exp . If the result can be represented as integer it will be returned as type integer, else it will be returned as type float. If the power cannot be computed FALSE will be returned instead.
Список изменений
Версия | Описание |
---|---|
Since 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. |
Since 4.2.0 | PHP stops to emit a warning if the value can't be computed, it will now silently return FALSE only. |
Примеры
Пример #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
?>
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Математические расширения
- Математические функции
- abs
- acos
- acosh
- asin
- asinh
- atan2
- atan
- atanh
- base_convert
- bindec
- ceil
- cos
- cosh
- decbin
- dechex
- decoct
- deg2rad
- exp
- expm1
- floor
- fmod
- getrandmax
- hexdec
- hypot
- intdiv
- is_finite
- is_infinite
- is_nan
- lcg_value
- log10
- log1p
- log
- max
- min
- mt_getrandmax
- mt_rand
- mt_srand
- octdec
- pi
- pow
- rad2deg
- rand
- round
- sin
- sinh
- sqrt
- srand
- tan
- tanh
Коментарии
Note that pow(0, 0) equals to 1 although mathematically this is undefined.
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.
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);
?>
It is official now that you could use
<?php
2 ** 3; // 8
// instead of
pow(2, 3); // 8
?>
If you use negative numbers, you need to use brackets for using with **
<?php
-1 ** 2; // -1
(-1) ** 2; // 1
?>