0

私はこのif文を持っています:

if($_GET["angle_1"] > 39) {
    $markers["###ANGLE###"] = "45"; 
} elseif($_GET["angle_1"] > 29 && $_GET["angle_1"] < 40) { 
    $markers["###ANGLE###"] = "35"; 
} elseif($_GET["angle_1"] < 30) {
     $markers["###ANGLE###"] = "25"; 
} else { 
     $markers["###ANGLE###"] = "45"; 
}

このチェックを行うためのより良い/より簡単な方法はありますか、整数を最も近い5に丸めるfx、つまり28 -> 25または34 -> 35などで、整数が25未満の場合、それはは常に 25 であり、整数が 45 より大きい場合は常に 45 になり、整数が 30 から 40 の間の場合は常に 35 になります。

その戻り値は、画像を表示するために使用されます。

編集:

image_25、image_35、image_45 の 3 つの画像があるため、丸める必要があります。

4

2 に答える 2

6

番号があるとしましょう$x

$x = 39;

最も近い 5 の倍数 (39 --> 40) が必要な場合:

$x = round($x / 5) * 5;

切り上げたい場合 (36 --> 40):

$x = ceil($x / 5) * 5;

切り捨てたい場合 (39 --> 35):

$x = floor($x / 5) * 5;

を定義した後$x、次を使用して 25 ~ 45 の範囲にあることを確認できます。

$x = ($x > 45) ? 45 : ($x < 25) ? 25 : $x;
于 2012-11-13T09:06:38.513 に答える
3

これを試してください:

$var = 5 * round($n / 5);

ここから撮影

于 2012-11-13T09:05:46.790 に答える