2015-09-03 2 views
2

J'ai une question concernant l'opérateur ** apparu en PHP 5.6. Pour autant que je sache, il est utilisé pour une exponentiation. Cependant, si nous voulons augmenter un nombre négatif:** Fonction opérateur et pow en PHP 5.6

var_dump(-2 ** 2); 
var_dump(pow(-2, 2)); 

puis dans le premier exemple, le résultat est -4 et 4 dans le second. Tout va bien? Ou cet opérateur agit différemment de la fonction pow()?

+2

http://php.net/manual/en/language.operators.precedence.php '' ** a une priorité supérieure '-', il est donc' - (2 ** 2) ', pas' (-2) ** 2' –

Répondre

4

Il doit être précédé car var_dump((-2) ** 2); donne 4.

Donc -2 ** 2 soulève 2 à la puissance de 2 et rend le résultat 4 négatif.

Voir Operator Precedence