PHP 8.4.0 RC4 available for testing

pow

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

powExponential expression

Açıklama

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

Returns num raised to the power of exponent.

Bilginize:

It is possible to use the ** operator instead.

Bağımsız Değişkenler

num

The base to use

exponent

The exponent

Dönen Değerler

num raised to the power of exponent. If both arguments are non-negative integers and the result can be represented as an integer, the result will be returned with int type, otherwise it will be returned as a float.

PHP-Extensions may override the behaviour of this operation and make it return an object.

Örnekler

Örnek 1 Some examples of pow()

<?php

var_dump
(pow(2, 8)); // int(256)
echo pow(-1, 20), PHP_EOL; // 1
echo pow(0, 0), PHP_EOL; // 1
echo pow(10, -1), PHP_EOL; // 0.1
var_dump(pow(new GMP("3"), new GMP("2"))); // object(GMP)

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

?>

Notlar

Bilginize:

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

Ayrıca Bakınız

  • exp() - Calculates the exponent of e
  • sqrt() - Square root
  • bcpow() - Keyfi duyarlıklı sayılar için üs alma işlemi yapar
  • gmp_pow() - Raise number into power

add a note

User Contributed Notes 5 notes

up
55
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
17
raiika
6 years ago
It is official now that you could use

<?php

2
** 3; // 8

// instead of

pow(2, 3); // 8

?>
up
17
gilthansREMOVEME at gmail dot com
17 years ago
Note that pow(0, 0) equals to 1 although mathematically this is undefined.
up
1
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);
?>
To Top