你在这里

生成区间数组

0
Vote up!

输入:最小值,最大值,步长,
输出:区间数组

例如:

输入,0, 100, 10
输出,0-10, 10-20, 20-30, ..., 90-100, 100

我的做法是利用PHP array系列函数
PHP:
function range_label($min, $max, $step) {
  $a = $b = range($min, $max, $step);
  array_pop($a);
  array_shift($b);
  $c = array_map(function($n, $m) {
    return $n . '-' . $m;
  }, $a, $b);
  array_push($c, $max);
  return $c;
}
经社区的M大师指点,其实一个for循环足矣,并且效率还更高
PHP:
function range_label($start, $end, $step) {
  for ($i = $start; $i <= $end; $i += $step) {
    $array[] = $i == $end ? $i : $i . '-' . ( $i + $step );
  }
  return $array;
}
分类: