pow

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

powPotenzfunktion

Beschreibung

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

Berechnet die Potenz von exponent zur Basis num oder kurz numexponent.

Hinweis:

Alternativ kann der **-Operator verwendet werden.

Parameter-Liste

num

Die zu potenzierende Basis.

exponent

Der Exponent.

Rückgabewerte

num in der Potenz exponent. Sind beide Argumente nichtnegative Ganzzahlen und kann das Ergebnis als Ganzzahl dargestellt werden, wird das Ergebnis als int zurückgegeben, andernfalls als float.

Das Verhalten dieser Operation kann durch PHP-Erweiterungen überschrieben werden, sodass sie ein Objekt zurückgibt.

Beispiele

Beispiel #1 Einige pow()-Beispiele

<?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

?>

Anmerkungen

Hinweis:

Diese Funktion wandelt alle Eingaben in numerische Werte um, selbst nicht-skalare Werte. Dies kann zu seltsamen Ergebnissen führen.

Siehe auch

  • Potenz-Operator **
  • fpow() - Raise one number to the power of another, according to IEEE 754
  • exp() - Berechnet den Exponenten von e
  • sqrt() - Quadratwurzel
  • bcpow() - Potenz einer Zahl beliebiger Genauigkeit
  • 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