-2

値レベルを確認したいphpコードがあります。

私はバリューレベルを説明しています

999 or below is level 0
1999 or below & higher then 1000 = level 1
2999 or below & higher then 2000 = level 2
3999 or below & higher then 3000 = level 3   so on....

これを確認して実行する方法がわかりません。ラウンドを使用しているため、すべてがめちゃくちゃになっていることはわかっていますが、他の方法はわかりません。$level = round($v / 1000);

<?php
$i = 0;
$level = 0;
$v = isset($_GET['v']) ? (int)$_GET['v'] : 100;
do {
    $i++;
    $bid  = round($v / 10);
        if ($v > 1000)
        {$bid = 100;}
    $level = round($v / 1000);
    echo "<tr><td>$" . number_format($v) . "</td><td>$" . number_format($bid) . "</td><td>" . $level . "</td></tr>";
    $v = $v + $bid;
} while ($i < 5);
?>

出力は次のとおりです。

$348    $35 0
$383    $38 0
$421    $42 0
$463    $46 0
$509    $51 1
$560    $56 1
$616    $62 1
$678    $68 1
$746    $75 1
$821    $82 1

私が望む出力は次のとおりです。

$746    $75 0
$821    $82 0
$903    $90 0
$993    $99 0
$1,092  $100    1
$1,192  $100    1
$1,292  $100    1
$1,392  $100    1
4

1 に答える 1

3

round() の代わりにfloor()関数を使用する必要があります。

于 2012-09-29T06:02:22.570 に答える