1

我有这段 php 代码:

$skill_amount = round(pow($rarity,1.25));

应该注意的是,$rarity 是从查询中派生的。

我正在输入像 0,2,4,8,16,32,64 这样的值。

99% 的时间它都在工作,但在少数情况下,我的用户报告了巨大的价值,例如:

13771, 77936

这可能是什么原因造成的?

4

2 回答 2

7
"What could possibly be causing this?"

的大值或意外值$rarity

如果您可以检查 $rarity 的所有可能值,您应该这样做。否则,您可以进行一些基本的调试。

if ($skill_amount > some sane value) {
    // log $skill_amount & $rarity to a file or email
    // maybe also some other investigative values, like stuff that assisted the derivation of $rarity
}
于 2012-12-30T19:31:23.807 回答
1

在这个脚本中没有发现任何问题,所以我同意需要对 $rarity 进行健全性检查。

<?php // RAY_temp_amy_neville.php
error_reporting(E_ALL);
echo '<pre>';

$range = range(1, 4096);
foreach ($range as $rarity)
{
    $skill_amount = round(pow($rarity,1.25));
    $out[$rarity] = $skill_amount;
}
print_r($out);
于 2012-12-30T19:41:12.560 回答