3

5ビューごとに1ずつ増加する値があります。MySQLテーブルは次のようになります。

myvalue views increment
10      12    5

たとえば、ビューが15に達するmyvalueと、11に変わります。

私はこれを行うことによってこれを達成します:

$div = $myvalue / $increment;
if (ceil($div) == $div) {
    $myvalue = $myvalue + $increment;
}

私がやろうとしているのは、次の増分の前にさらにいくつのビューを実行するかを教えてくれる簡単な計算を行うことです。この例では、3を返したいと思いますmyvalue。これは、次回が5の増分(15)に達するまで、さらに3つのビューがあるためです。

10、26、25の場合myvalue、次のviews25incrementの増分である50に到達する前に、さらに24のビューが必要になるため、24という数値を取得する必要があります。

これを行う方法はありますか?

4

2 に答える 2

1

この式が使えると思います

$diff = $increment - ($views % $increment);

また、元のコードは次のように書くことができます

if(($views % $increment) === 0)
{
  $myvalue += 1; // you said myvalue will increase by one
}
于 2012-06-20T02:00:15.647 に答える
0
$ret = ceil($views / $increment) * $increment - $views;

または

$ret = $increment - $views % $increment;
于 2012-06-20T01:56:02.253 に答える