可以用百分比而不是静态值来完成

时间:2013-04-25 03:30:44

标签: php

好吧,伙计们,基本上我有一些代码正在使用if语句,我想知道是否可以从百分比重新编码它,这是当前的代码

@sort($prices_array);
if ($prices_array[1] > 10000 AND $prices_array[1] < 50000) {
    $sell_at = $prices_array[1] - 250;
} elseif ($prices_array[1] > 50000 AND $prices_array[1] < 100000) {
    $sell_at = $prices_array[1] - 500;
} else {
    $sell_at = $prices_array[1] - 100;
}
$buy_at = $prices_array[1] - 1000;

if ($prices_array[1] >= 10000) {
    $buy_at = $buy_at - 1000;
    if ($prices_array[1] >= 20000) {
        $buy_at = $buy_at - 1000;
        if ($prices_array[1] >= 30000) {
            $buy_at = $buy_at - 1000;
        }
        if ($prices_array[1] >= 40000) {
            $buy_at = $buy_at - 1000;
        }
        if ($prices_array[1] >= 50000) {
            $buy_at = $buy_at - 750;
        }
        if ($prices_array[1] >= 60000) {
            $buy_at = $buy_at - 500;
        }
        if ($prices_array[1] >= 70000) {
            $buy_at = $buy_at - 500;
        }
    }
}

我知道代码非常糟糕,但是可以将$buy_at基于特定百分比,例如sell_at低5%但是四舍五入到从if语句

中正确递减

1 个答案:

答案 0 :(得分:1)

首先,我认为switch会更好。其次,您可以使用此功能将舍入设置为您想要的任何增量:

function roundUpTo($number, $increments) { 
    $increments = 1 / $increments; 
    return (ceil($number * $increments) / $increments); 
}

要查找值的百分比,只需将该值乘以百分比除以100即可。