3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Based on the following business hours: * (Note : I setup the hours for each day if they carry-over) * everyday is open from 09:00 AM - 12:00 AM * Sun/Sat open extra from 12:00 AM - 01:00 AM */ $apteka['MODE'] = "8:00 - 19:00"; $ex = explode(' - ',$apteka['MODE']); $open = $ex[0]; $close = $ex[1]; // current OR user supplied UNIX timestamp $timestamp = time(); // default status $status = 'closed'; // get current time object $currentTime = (new DateTime())->setTimestamp($timestamp); // create time objects from start/end times $startTime = DateTime::createFromFormat('H:i', $open); $endTime = DateTime::createFromFormat('H:i', $close); var_dump($startTime,$currentTime); // check if current time is within a range if (($startTime < $currentTime) && ($currentTime < $endTime)) { $status = 'open'; } echo "We are currently: $status";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 42
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
Branch analysis from position: 40
filename:       /in/OvSDh
function name:  (null)
number of ops:  46
compiled vars:  !0 = $apteka, !1 = $ex, !2 = $open, !3 = $close, !4 = $timestamp, !5 = $status, !6 = $currentTime, !7 = $startTime, !8 = $endTime
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   ASSIGN_DIM                                               !0, 'MODE'
          1        OP_DATA                                                  '8%3A00+-+19%3A00'
   10     2        INIT_FCALL                                               'explode'
          3        SEND_VAL                                                 '+-+'
          4        FETCH_DIM_R                                      ~10     !0, 'MODE'
          5        SEND_VAL                                                 ~10
          6        DO_ICALL                                         $11     
          7        ASSIGN                                                   !1, $11
   11     8        FETCH_DIM_R                                      ~13     !1, 0
          9        ASSIGN                                                   !2, ~13
   12    10        FETCH_DIM_R                                      ~15     !1, 1
         11        ASSIGN                                                   !3, ~15
   15    12        INIT_FCALL                                               'time'
         13        DO_ICALL                                         $17     
         14        ASSIGN                                                   !4, $17
   18    15        ASSIGN                                                   !5, 'closed'
   21    16        NEW                                              $20     'DateTime'
         17        DO_FCALL                                      0          
         18        INIT_METHOD_CALL                                         $20, 'setTimestamp'
         19        SEND_VAR_EX                                              !4
         20        DO_FCALL                                      0  $22     
         21        ASSIGN                                                   !6, $22
   24    22        INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
         23        SEND_VAL                                                 'H%3Ai'
         24        SEND_VAR                                                 !2
         25        DO_FCALL                                      0  $24     
         26        ASSIGN                                                   !7, $24
   25    27        INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
         28        SEND_VAL                                                 'H%3Ai'
         29        SEND_VAR                                                 !3
         30        DO_FCALL                                      0  $26     
         31        ASSIGN                                                   !8, $26
   27    32        INIT_FCALL                                               'var_dump'
         33        SEND_VAR                                                 !7
         34        SEND_VAR                                                 !6
         35        DO_ICALL                                                 
   30    36        IS_SMALLER                                       ~29     !7, !6
         37      > JMPZ_EX                                          ~29     ~29, ->40
         38    >   IS_SMALLER                                       ~30     !6, !8
         39        BOOL                                             ~29     ~30
         40    > > JMPZ                                                     ~29, ->42
   31    41    >   ASSIGN                                                   !5, 'open'
   35    42    >   NOP                                                      
         43        FAST_CONCAT                                      ~32     'We+are+currently%3A+', !5
         44        ECHO                                                     ~32
         45      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
151.91 ms | 1400 KiB | 19 Q