Mor*_*agh 0 php integer if-statement get rounding
我有这个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";
}
Run Code Online (Sandbox Code Playgroud)
是否有更好/更简单的方法来执行此检查,fx使用round将整数舍入到最接近的5,即28 - > 25或34 - > 35等等,并且如果整数小于25,则将始终为25,如果整数高于45,它将始终为45,如果整数介于30和40之间,它将始终为35.
返回的值将用于显示图像.
编辑:
我有3张图片:image_25,image_35和image_45,因此需要圆形.
让我们说一下$x这个数字:
$x = 39;
Run Code Online (Sandbox Code Playgroud)
如果你想要最接近的5的倍数(39 - > 40):
$x = round($x / 5) * 5;
Run Code Online (Sandbox Code Playgroud)
如果你想围捕(36 - > 40):
$x = ceil($x / 5) * 5;
Run Code Online (Sandbox Code Playgroud)
如果你想向下舍入(39 - > 35):
$x = floor($x / 5) * 5;
Run Code Online (Sandbox Code Playgroud)
定义后$x,您可以使用以下内容确保其在25-45范围内:
$x = ($x > 45) ? 45 : ($x < 25) ? 25 : $x;
Run Code Online (Sandbox Code Playgroud)