fork(1) download
  1. <?php
  2.  
  3. $array = [ 1, 2, 6.1, 6.2, 6.3, 6.4, 6.5, 7, 8 ];
  4. $result = [ ];
  5. for( $i = 0, $size = count( $array ); $i < $size; $i ++ ) {
  6. $start = $array[ $i ];
  7. $end = $start;
  8. while( isset( $array[ $i + 1 ] ) && ! bccomp( $array[ $i + 1 ] - $array[ $i ], 0.1, 1 ) ) {
  9. $end = $array[ ++ $i ];
  10. }
  11. $result[] = $start == $end ? $start : $start . '-' . $end;
  12. }
  13. print_r( $result );
Success #stdin #stdout 0.02s 24400KB
stdin
Standard input is empty
stdout
Array
(
    [0] => 1
    [1] => 2
    [2] => 6.1-6.5
    [3] => 7
    [4] => 8
)