我不太擅长数学,我希望将3个数学方程式传递给php函数。
我尝试查找如何在php中单独执行方程式的每个部分,但是我不断收到奇怪的结果,因此我必须做错了什么。
是否有用于指数增长的php函数?
带有等式的图像在这里:http : //i.imgur.com/zIhMEEu.jpg
谢谢
对于第二个方程式,这就是我所拥有的:
$rank = 50;
$xp = log(24000 * (2^($rank/6) - 1));
echo $xp;
数字太小,无法正确显示。我也不确定如何将'ln 2'转换为PHP。log()函数似乎出现在“ php的自然对数”搜索下。
为了创建这些方程式,需要组合各种功能。该log
函数以您选择的底数(或者ln
如果您不提供底数)执行对数运算。该pow
函数执行幂运算。
您的方程式将是:
function rank($xp) {
return floor(6 * log((xp * log(2) / 24000 + 1), 2));
}
function xp($rank) {
return floor(24000 * (pow(2, (rank / 6)) - 1) / log(2));
}
function kills($rank) {
return floor(xp($rank) / 200);
}
为了清楚起见,那里的括号比绝对需要的多。
由于您可以使用可以想到的任何符号来表示各种概念,因此,数学符号通常比大多数编程语言(不仅仅是PHP)更紧凑和更具表现力。在编程中,您陷入了调用函数的困境。
另外,我不确定各种硬编码的数字代表什么,或者在公式的上下文中更改它们是否有意义,但是您可能需要考虑将它们设置为函数的附加参数。例如:
function kills($rank, $killsPerXp = 200) {
return floor(xp($rank) / $killsPerXp);
}
这使代码更加清晰,因为它使您知道数字代表什么。同时,如果您在多个地方使用它们,它可以使您更轻松地更改数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句