2 つの数値があります (この例では、695 が最小で 36000 が最大であるとします)。現在、最小値と最大値がわかったら、その差を 10 で割り、ループを循環させて範囲をクレートします。次のようになります。
$min = (int)$min-1;
$max = (int)$max;
$diff = ($max - $min) / 10;
$range = array();
for ( $i=1; $i<10; $i++){
$range[] = array(
"low"=>($i==1? $min: ($i*$diff) + $min),
"high"=>($i+1)*$diff + $min
);
}
これは、数値が 695 ~ 36000 の場合にうまく機能します。数値が近づくと、10 の範囲を持つのは少し面倒になります。たとえば、最小値が 34000 で最大値が 36000 の場合、範囲は 34000 ~ 34200、34200 ~ 34400 などになります。
理想的には、695-36000 が 10 の異なる範囲である場合、34000-36000 は 1 つの範囲になります。
表示される範囲の数とそれらの範囲を計算する簡単な方法は何ですか?