PHP圆形数组到最接近的百分之一并均匀分开

时间:2011-09-22 21:30:03

标签: php

我从MySQL DB中提取了10个整数:

我希望能够确定最大值,然后向上舍入到最接近的百分之一。有了这个,我希望能够创建一个10个数字的列表,这些数字均匀分解为零。

在示例中: {232,10,0,55,130,423,102,22,98,3}

Take:423 =>最高可达500

然后使用数字500返回时使用相同的分隔数字,例如:

500,450,400,350,300,250,200,150,100,50,0

提前感谢您的帮助!

克里斯

3 个答案:

答案 0 :(得分:3)

$maximal = max($array);
function roundNearestHundredUp($number)
{
    return ceil( $number / 100 ) * 100;
}
$counting = roundNearestHundredUp($maximal);
while($counting >= 0){
    echo $counting;
    $counting -= 10;
}

答案 1 :(得分:3)

这应该这样做:

<?php
    $array = array(232, 10, 0, 55, 130, 423, 102, 22, 98, 3); 
    $max = max($array);
    $max_rounded = ceil($max/100)*100;
    $diff = ($max_rounded/10);
    while($max_rounded >= 0){
        echo $max_rounded.' ';
        $max_rounded -= $diff;
    }
?>

答案 2 :(得分:0)

您可以使用MySQL的MAX()函数获取结果集的最大数量。返回你不需要的结果没有任何意义:

SELECT MAX(your_column) FROM some_table;

然后使用PHP对数字进行数学运算:

function getChoices($start, $count)
{
    $start = ceil($start / 100) * 100;

    return range($start, 0, ($start / $count));
}

$choices = getChoices(460, 10);

如果您不想使用MySQL的MAX()$choices = getChoices(max($results), 10);