我有这段代码循环 1 到 99 并且是一个公式。
function getExperienceByLevel ($maxLevel)
{
$levels = array ();
$current = 0;
for ($i = 1; $i <= $maxLevel; $i++)
{
$levels[$i - 1] = floor ($current / 4);
$current += floor($i+300*pow(2, ($i/9.75)));
}
return $levels;
}
首先你像这样启动它,$aLevels = getExperienceByLevel(99);
然后看看你需要多少经验才能升级6
你这样做,echo $aLevels[5];
因为它是一个数组。
现在我正在尝试反向操作。通过经验获得等级。
function getLevelByExp($exp)
{
$aLevels = getExperienceByLevel(99);
for ($i = 1; $i < 100; $i++)
{
if ($exp > $aLevels[$i-1])
{
return $i;
}
}
}
所以我尝试这样做:
$aLevels = getExperienceByLevel(99);
echo getLevelByExp(131);
当被调用getLevelByExp(131);
或内部的任何数字时,它似乎返回 a1
即使它应该是2
因为 3 级是167
EXP 而 2 级是80
EXP。这是一个参考图片:http: //i.imgur.com/gEYgu.png