W3docs

exp()

Découvrez la fonction exp() en PHP, utilisée pour calculer la valeur exponentielle d'un nombre (e élevé à la puissance x).

La fonction exp() en PHP retourne e élevé à la puissance d'un nombre donné — c'est-à-dire e^x. Ici, e (le nombre d'Euler, environ 2.71828) est la base du logarithme naturel et apparaît partout en science et en finance : dans les intérêts composés, la croissance démographique, la désintégration radioactive et les probabilités. Cette page couvre la syntaxe, la valeur de retour, plusieurs exemples détaillés, la relation avec son inverse log(), et les erreurs courantes à éviter.

Syntaxe

exp(float $num): float
  • $num — l'exposant. N'importe quel nombre (positif, négatif, zéro ou un flottant).
  • Valeur de retour — un float : la valeur de e élevé à la puissance $num.

Comme e est irrationnel, le résultat est presque toujours un décimal non terminant. PHP l'affiche en utilisant la précision définie par la directive precision de php.ini (14 chiffres significatifs par défaut).

Exemple de base

php— editable, runs on the server

Nous passons 2 à exp(), donc la fonction calcule . Le résultat, 7.3890560989307, est 2.71828... multiplié par lui-même.

Valeurs de référence clés

Quelques entrées méritent d'être mémorisées car elles montrent ce que fait la fonction :

<?php
echo exp(0), "\n";  // 1            (anything^0 is 1)
echo exp(1), "\n";  // 2.718281828459   (this IS e, same as the M_E constant)
echo exp(-1), "\n"; // 0.36787944117144 (e^-1 = 1/e)
echo exp(0.5), "\n";// 1.6487212707001  (the square root of e)
?>
  • exp(0) vaut 1, car n'importe quelle base élevée à la puissance 0 est égale à 1.
  • exp(1) est égal à la constante intégrée PHP M_E. Vous pouvez utiliser M_E directement lorsque vous avez juste besoin de la valeur de e sans avoir à la recalculer.
  • Un exposant négatif donne une valeur comprise entre 0 et 1 (e^-x = 1/e^x), ce qui correspond à la façon dont la décroissance exponentielle est modélisée.

exp() est l'inverse de log()

Le logarithme naturel, la fonction PHP log(), annule exp() et vice versa. Les composer retourne le nombre d'origine :

<?php
$x = 5;

echo log(exp($x)), "\n"; // 5
echo exp(log($x)), "\n"; // 5
?>

Cette relation explique pourquoi exp() apparaît chaque fois que vous avez un modèle exprimé avec des logarithmes naturels et que vous devez revenir à une échelle normale.

Exemple pratique : intérêts composés continus

Un usage classique de exp() dans le monde réel est la formule des intérêts composés continus, A = P · e^(r·t) :

<?php
$principal = 1000;  // starting amount
$rate      = 0.05;  // 5% annual rate
$years     = 10;

$amount = $principal * exp($rate * $years);

echo round($amount, 2); // 1648.72
?>

Après 10 ans, 1000 € placés à 5% en composition continue croissent jusqu'à environ 1648,72 €.

exp() vs. pow()

Il est facile de confondre exp() avec pow() :

  • exp($x) utilise toujours e comme base — c'est pow(M_E, $x).
  • pow($base, $exp) vous permet de choisir n'importe quelle base, par exemple pow(2, 10) pour 2¹⁰.

Ainsi, exp(3) et pow(M_E, 3) produisent le même résultat, mais utilisez pow() chaque fois que la base est autre chose que e.

Pièges courants

  • Ne passez pas une chaîne avec des unités. exp("2 apples") est converti en exp(2) (avec un avertissement dans les versions modernes de PHP). Passez toujours une valeur numérique propre.
  • Les grandes entrées débordent vers INF. exp(710) dépasse la plage d'un float PHP et retourne INF. Protégez-vous contre les très grands exposants si l'entrée provient de l'utilisateur.
  • La précision d'affichage n'est pas une perte de précision. Le float complet est stocké en interne ; seule la chaîne affichée est tronquée. Utilisez printf() ou number_format() pour contrôler le nombre de chiffres affichés.

Conclusion

exp() retourne e^x et constitue le bloc de construction de tout calcul exponentiel naturel en PHP — croissance, décroissance et capitalisation continue. N'oubliez pas que c'est l'inverse de log(), que exp(1) est égal à la constante M_E, et que vous devriez utiliser pow() lorsque vous avez besoin d'une base autre que e. Pour les opérations de type racine carrée inverse, voir aussi sqrt().

Pratique

Pratique
Que fait la fonction PHP exp() ?
Que fait la fonction PHP exp() ?
Was this page helpful?