pow

(PHP 4, PHP 5, PHP 7, PHP 8)

powВозводит в степень

Описание

pow(mixed $num, mixed $exponent): int|float|object

Возвращает число num в степени exponent.

Замечание:

Допустимо указывать оператор ** вместо вызова функции.

Список параметров

num

Основание.

exponent

Показатель степени.

Возвращаемые значения

Возвращает основание num в степени exponent. Если оба аргумента — неотрицательные целые и результат можно представить как целое число, то функция возвращает целое число (int). В противном случае функция возвращает число с плавающей точкой (float).

Примеры

Пример #1 Примеры использования функции pow()

<?php

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

echo pow(-1, 5.5); // NAN

?>

Примечания

Замечание:

Функция преобразует входные значения, даже нескалярные, в числовые, что иногда даёт странный результат.

Смотрите также

  • exp() - Вычисляет степень числа e
  • sqrt() - Извлекает квадратный корень
  • bcpow() - Возведение в степень чисел с произвольной точностью
  • gmp_pow() - Возводит число в степень

add a note add a note

User Contributed Notes 6 notes

up
50
chris at ocportal dot com
12 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
16
raiika
6 years ago
It is official now that you could use

<?php

2
** 3; // 8

// instead of

pow(2, 3); // 8

?>
up
12
gilthansREMOVEME at gmail dot com
17 years ago
Note that pow(0, 0) equals to 1 although mathematically this is undefined.
up
3
Roman
3 years ago
If you use negative numbers, you need to use brackets for using with **

<?php

-1 ** 2; // -1

(-1) ** 2; // 1

?>
up
2
scott at arciszewski dot me
10 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
-7
jaxx1rr at gmail dot com
5 years ago
funny thing

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

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