PHP中带e^的数学公式无法正常计算该如何处理
问题根因
- PHP 中
^是按位异或运算符,不承担幂运算功能,计算自然常数e的N次幂需使用内置的exp(N)函数 - PHP 无内置的
e全局常量,直接书写e会触发未定义常量警告,返回非法计算值
修正后代码
$risk = 100 / (1 + exp( -1 * ( (0.028 * 25) + (0.661 * 0) + (0.412 * 0) + (0.079 * 150) + (0.018 * 150) - (0.039 * 150) + (0.07 * 25.96) + (0.481 * 0) - 13.415 ) ));
结果说明
运行上述代码得到的$risk值约为10,与预期的10%结果一致。如果需要实现其他底数的幂运算,可使用pow(底数, 指数)函数,PHP 5.6及以上版本也支持底数 ** 指数的写法。
内容的提问来源于stack exchange,提问作者Aaftab Aalam Ansari
相关产品推荐
相关产品推荐

