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 deeé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
Nous passons 2 à exp(), donc la fonction calcule e². 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)vaut1, car n'importe quelle base élevée à la puissance0est égale à1.exp(1)est égal à la constante intégrée PHPM_E. Vous pouvez utiliserM_Edirectement lorsque vous avez juste besoin de la valeur de e sans avoir à la recalculer.- Un exposant négatif donne une valeur comprise entre
0et1(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 toujoursecomme base — c'estpow(M_E, $x).pow($base, $exp)vous permet de choisir n'importe quelle base, par exemplepow(2, 10)pour2¹⁰.
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 enexp(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 retourneINF. 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
floatcomplet est stocké en interne ; seule la chaîne affichée est tronquée. Utilisezprintf()ounumber_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().