fork(2) download
  1. <?php
  2.  
  3. $array = array(11,12,15,16,17,18,22,23,24);
  4. $break_start = array();
  5.  
  6. //range finder
  7. for ($i=0; $i<sizeof($array); $i++) {
  8. $current = $array[$i];
  9. $previous = $array[$i-1];
  10. if ($current==($previous+1)) {
  11. //no break points are found
  12. } else {
  13. //return break points with keys intact
  14. array_push($break_start, $i);
  15. }
  16.  
  17. }
  18.  
  19. for ($i=0; $i<sizeof($break_start); $i++) {
  20. $key = $break_start[$i];
  21. $next_key = $break_start[$i+1];
  22.  
  23. //if last iteration
  24. if ($i==sizeof($break_start)-1) {
  25. echo "Range: ".$array[$key]." - ".$array[count($array)-1]." \n";
  26. }
  27. else {
  28. echo "Range: ".$array[$key]." - ".$array[$next_key-1]." \n";
  29. }
  30. }
Success #stdin #stdout #stderr 0.01s 20520KB
stdin
Standard input is empty
stdout
Range: 11 - 12 
Range: 15 - 18 
Range: 22 - 24 
stderr
PHP Notice:  Undefined offset: -1 in /home/SzhPJ8/prog.php on line 9
PHP Notice:  Undefined offset: 3 in /home/SzhPJ8/prog.php on line 21