php - 通过if else简化来改变变量值

时间:2013-06-02 10:01:14

标签: php variables if-statement

我正在尝试将这样的东西变成我的可变数据值......

$maxvalue = 0;
$basevalue = 0;
if($basevalue == 0) {$maxvalue = 0;}
else if ($basevalue == 1) {$maxvalue = 884;}
else if ($basevalue == 2) {$maxvalue = 1819;}
else if ($basevalue == 3) {$maxvalue = 2839;}

等等..我相信没有确切的计算$ maxvalue如何随着基值的增加而变化。有人可以建议我这么简单吗?提前谢谢!

3 个答案:

答案 0 :(得分:6)

$maxvalues = array(0, 884, 1819, 2839, ...);
$maxvalue  = $maxvalues[$basevalue];

答案 1 :(得分:1)

看起来有一种模式,几乎像一个教师,但也有一些其他的计算。所有数字都是17的倍数。以下函数返回您提供的数字,所以我认为它也适用于更高的数字:

function getMaxValue($base)
{
    // Factor of $base = 51 + $base^2 + Factor($base - 1). You
    // could solve that in a recursion, but a loop is generally better.
    $factor = 0;
    for ($i = 1; $i <= $base; $i++)
      $factor += 51 + ($i * $i);
    return $factor * 17;
}

// Test
for ($i = 0; $i < 100; $i++)
{
    echo "$i -- " . getMaxValue($i) . "<br>\n";
}

答案 2 :(得分:0)

这是阻止我将所有这些内容放入数组的解决方案..

$maxvalue = 17/6*(2*($basevalue*$basevalue*$basevalue)+3
($basevalue*$basevalue)+307*$basevalue);

感谢所有帮助