PHPCon Poland 2024

# pow

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

pow指数表达式

### 说明

pow(mixed `\$num`, mixed `\$exponent`):

### 参数

`num`

`exponent`

### 返回值

`num``exponent` 次方。如果两个参数都是非负整数且结果可以用整数表示，则返回 int 类型，否则返回 float

### 示例

`<?phpvar_dump(pow(2, 8)); // int(256)echo pow(-1, 20); // 1echo pow(0, 0); // 1echo pow(10, -1); // 0.1echo pow(-1, 5.5); // NAN?>`

### User Contributed Notes 6 notes

56
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.`
16
raiika
5 years ago
`It is official now that you could use <?php2 ** 3; // 8// instead ofpow(2, 3); // 8?>`
15
gilthansREMOVEME at gmail dot com
17 years ago
`Note that pow(0, 0) equals to 1 although mathematically this is undefined.`
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);?>`
-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?>`
-6
jaxx1rr at gmail dot com
4 years ago
`funny thingnumber_format(pow(2, 1023));gives a long numberbut number_format(pow(2, 1024));gives inf`