是否有一种简单的方法来获取可以在1到15范围内的数字列表,并用短横线代替连续的数字。
因此,例如,如果您有以下数字:
1 2 3 5 6 7 10 12
它会输出
1 - 3, 5 - 7, 10, 12
<?php $n = array (1, 2, 3, 5, 6, 7, 10, 12); sort ($n); // If necessary. $i = 0; while ($i < count ($n)) { if ($i != 0) print (", "); $rangestart = $i; print ($n [$i++]); while ($i < count ($n) && $n [$i] == $n [$i - 1] + 1) $i++; if ($i > $rangestart + 1) print (" - " . $n [$i - 1]); }