fork download
  1. <?php
  2.  
  3. $schedule = json_decode('{"Monday":"7:00 - 23:00","Tuesday":"open24","Wednesday":"open24","Thursday":"open24","Friday":"open24","Saturday":"open24","Sunday":"closed"}', true);
  4. $result = array();
  5. foreach ($schedule as $key => $value) {
  6. $dayInterval = null;
  7. switch ($value) {
  8. case 'open24':
  9. $dayInterval = array(
  10. "start" => '00:00',
  11. "end" => '23:59'
  12. );
  13. break;
  14.  
  15. case 'closed':
  16. $dayInterval = array();
  17. break;
  18.  
  19. default:
  20. $valueSplit = explode("-", $value);
  21. $dayInterval = array(
  22. "start" => $valueSplit[0],
  23. "end" => $valueSplit[1]
  24. );
  25. break;
  26. }
  27. if ($dayInterval) {
  28. $result[$key][] = $dayInterval;
  29. }
  30. }
  31. var_dump($result);
  32. echo json_encode($result);
Success #stdin #stdout 0.02s 25876KB
stdin
Standard input is empty
stdout
array(6) {
  ["Monday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "7:00 "
      ["end"]=>
      string(6) " 23:00"
    }
  }
  ["Tuesday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "00:00"
      ["end"]=>
      string(5) "23:59"
    }
  }
  ["Wednesday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "00:00"
      ["end"]=>
      string(5) "23:59"
    }
  }
  ["Thursday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "00:00"
      ["end"]=>
      string(5) "23:59"
    }
  }
  ["Friday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "00:00"
      ["end"]=>
      string(5) "23:59"
    }
  }
  ["Saturday"]=>
  array(1) {
    [0]=>
    array(2) {
      ["start"]=>
      string(5) "00:00"
      ["end"]=>
      string(5) "23:59"
    }
  }
}
{"Monday":[{"start":"7:00 ","end":" 23:00"}],"Tuesday":[{"start":"00:00","end":"23:59"}],"Wednesday":[{"start":"00:00","end":"23:59"}],"Thursday":[{"start":"00:00","end":"23:59"}],"Friday":[{"start":"00:00","end":"23:59"}],"Saturday":[{"start":"00:00","end":"23:59"}]}