3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Date From-To display class Far from complete, and old. Newer to github, but have been using it for a while. Refactor and redo. */ class Date_from_to { function __construct() { # code... } /** * date_range * * Can return displayed string of the date, or array * * * @param string $start_date * @param string $end_date * @param string $return_array * @return string || array * @notes I want to adjust and change the way this works later since it isn't working as wanted. * rough code is placed for quick production. */ function date_range( $start_date = "", $end_date = "", $return_array = false) { $args = func_get_args(); /* Just in case want to send an array of settings. */ if(is_array($start_date)) { $start_date = $args[0]['start']; $end_date = $args[0]['end']; $display_format = $args[0]['format']; $return_array = $args[0]['array']; } unset($args); if(empty($end_date) || strtotime($start_date) >= strtotime($end_date)) $end_date = $start_date; $obj = new stdClass(); /// Original timestamps $obj->timestamp = new stdClass(); $obj->timestamp->current = strtotime(date('Y-m-d H:i:s')); $obj->timestamp->start = strtotime($start_date); $obj->timestamp->end = strtotime($end_date); /// Array Time for use in differences $obj->ts->current = explode(" ", date('Y m d H i s A')); $obj->ts->start = explode(" ", date('Y m d H i s A', $obj->timestamp->start)); $obj->ts->end = explode(" ", date('Y m d H i s A', $obj->timestamp->end)); /// Current Date $obj->ts_current = new stdClass(); $obj->ts_current->year = $obj->ts->current[0]; $obj->ts_current->month = $obj->ts->current[1]; $obj->ts_current->day = $obj->ts->current[2]; $obj->ts_current->time = $obj->ts->current[3] . ":".$obj->ts->start[4]; $obj->ts_current->ampm = $obj->ts->current[6]; /// Start date $obj->ts_start = new stdClass(); $obj->ts_start->year = $obj->ts->start[0]; $obj->ts_start->month = $obj->ts->start[1]; $obj->ts_start->day = $obj->ts->start[2]; $obj->ts_start->time = $obj->ts->start[3] . ":".$obj->ts->start[4]; $obj->ts_start->ampm = $obj->ts->start[6]; /// End date $obj->ts_end = new stdClass(); $obj->ts_end->year = $obj->ts->end[0]; $obj->ts_end->month = $obj->ts->end[1]; $obj->ts_end->day = $obj->ts->end[2]; $obj->ts_end->time = $obj->ts->end[3] . ":".$obj->ts->start[4]; $obj->ts_end->ampm = $obj->ts->end[6]; /// Differences $obj->dif = new stdClass(); $obj->dif->year = ($obj->ts_end->year > $obj->ts_start->year) || ($obj->ts_start->year > $obj->ts_current->year) ? true : false; $obj->dif->month = $obj->ts_end->month > $obj->ts_start->month ? true : false; $obj->dif->day = $obj->ts_end->day > $obj->ts_start->day ? true : false; $obj->dif->time = $obj->ts_end->time > $obj->ts_start->time ? true : false; $obj->dif->ampm = $obj->ts_end->ampm > $obj->ts_start->ampm ? true : false; /// for Display $obj->display = new stdClass(); $obj->display->start = new stdClass(); $obj->display->start->year = date("Y", $obj->timestamp->start); $obj->display->start->month = date("F", $obj->timestamp->start); $obj->display->start->day = date("j", $obj->timestamp->start); $obj->display->start->time = date("g:i", $obj->timestamp->start); $obj->display->start->ampm = $obj->ts_start->ampm; $obj->display->end = new stdClass(); $obj->display->end->year = date("Y", $obj->timestamp->end); $obj->display->end->month = date("F", $obj->timestamp->end); $obj->display->end->day = date("j", $obj->timestamp->end); $obj->display->end->time = date("g:i", $obj->timestamp->end); $obj->display->end->ampm = $obj->ts_end->ampm; /// Start Display build /// By Default, always show the month/day/time it starts $obj->display->view = "{$obj->display->start->month} {$obj->display->start->day}"; /// $obj->display->view .= ", {$obj->display->start->year}"; /// $obj->display->view .= " {$obj->display->start->time} {$obj->display->start->ampm}"; /// Abstract $obj->display->abstract = new stdClass(); $obj->display->abstract->start = "{$obj->display->start->month} {$obj->display->start->day}"; if($obj->dif->year) $obj->display->abstract->start .= ", {$obj->display->start->year}"; $obj->display->abstract->start .= " {$obj->display->start->time} {$obj->display->start->ampm}"; /// Durational catch if( true === $obj->dif->year || true === $obj->dif->month || true === $obj->dif->day) { /* TODO: Adjust this code to display more logically rather then so directly. Add flexibility to years. - from-month from-day from year to* to-month to-day to-year - January 23, 2009 - February 1, 2009 - format options[] */ $obj->display->view .= " - "; $end_stamp = ""; if($obj->dif->month || $obj->dif->year) { if($obj->dif->year) $end_stamp .= " {$obj->display->end->month} {$obj->display->end->day}, "; else if($obj->dif->month) $end_stamp .= "{$obj->display->end->month} {$obj->display->end->day}, "; } else { $end_stamp .= "{$obj->display->end->day}, "; } /// $end_stamp .= " {$obj->display->end->time} {$obj->display->end->ampm}"; $end_stamp .= " ". $obj->display->end->year; $obj->display->abstract->end = $end_stamp; $obj->display->view .= $end_stamp; } else { /// Abstract catch if no duration set $obj->display->abstract->end = false; // no differences just add the current year. $obj->display->view .= ", ". $obj->display->start->year; } /// Return array if only the data is needed if(true === $return_array) return $obj; /// Return the html constructed view. return $obj->display->view; } } $myDate = new Date_from_to(); print $myDate.date_range('02-06-2014', '02-16-2014');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/DVvuT
function name:  (null)
number of ops:  10
compiled vars:  !0 = $myDate
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  179     0  E >   NEW                                              $1      'Date_from_to'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
  180     3        INIT_FCALL_BY_NAME                                       'date_range'
          4        SEND_VAL_EX                                              '02-06-2014'
          5        SEND_VAL_EX                                              '02-16-2014'
          6        DO_FCALL                                      0  $4      
          7        CONCAT                                           ~5      !0, $4
          8        ECHO                                                     ~5
          9      > RETURN                                                   1

Class Date_from_to:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/DVvuT
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E > > RETURN                                                   null

End of function __construct

Function date_range:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 19
Branch analysis from position: 7
2 jumps found. (Code = 47) Position 1 = 22, Position 2 = 30
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 32
Branch analysis from position: 31
2 jumps found. (Code = 47) Position 1 = 223, Position 2 = 229
Branch analysis from position: 223
2 jumps found. (Code = 43) Position 1 = 230, Position 2 = 232
Branch analysis from position: 230
1 jumps found. (Code = 42) Position 1 = 233
Branch analysis from position: 233
2 jumps found. (Code = 43) Position 1 = 242, Position 2 = 244
Branch analysis from position: 242
1 jumps found. (Code = 42) Position 1 = 245
Branch analysis from position: 245
2 jumps found. (Code = 43) Position 1 = 254, Position 2 = 256
Branch analysis from position: 254
1 jumps found. (Code = 42) Position 1 = 257
Branch analysis from position: 257
2 jumps found. (Code = 43) Position 1 = 266, Position 2 = 268
Branch analysis from position: 266
1 jumps found. (Code = 42) Position 1 = 269
Branch analysis from position: 269
2 jumps found. (Code = 43) Position 1 = 278, Position 2 = 280
Branch analysis from position: 278
1 jumps found. (Code = 42) Position 1 = 281
Branch analysis from position: 281
2 jumps found. (Code = 43) Position 1 = 423, Position 2 = 432
Branch analysis from position: 423
2 jumps found. (Code = 47) Position 1 = 450, Position 2 = 454
Branch analysis from position: 450
2 jumps found. (Code = 47) Position 1 = 455, Position 2 = 459
Branch analysis from position: 455
2 jumps found. (Code = 43) Position 1 = 460, Position 2 = 521
Branch analysis from position: 460
2 jumps found. (Code = 47) Position 1 = 467, Position 2 = 470
Branch analysis from position: 467
2 jumps found. (Code = 43) Position 1 = 471, Position 2 = 502
Branch analysis from position: 471
2 jumps found. (Code = 43) Position 1 = 474, Position 2 = 487
Branch analysis from position: 474
1 jumps found. (Code = 42) Position 1 = 501
Branch analysis from position: 501
1 jumps found. (Code = 42) Position 1 = 508
Branch analysis from position: 508
1 jumps found. (Code = 42) Position 1 = 532
Branch analysis from position: 532
2 jumps found. (Code = 43) Position 1 = 534, Position 2 = 535
Branch analysis from position: 534
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 535
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 487
2 jumps found. (Code = 43) Position 1 = 490, Position 2 = 501
Branch analysis from position: 490
1 jumps found. (Code = 42) Position 1 = 508
Branch analysis from position: 508
Branch analysis from position: 501
Branch analysis from position: 502
1 jumps found. (Code = 42) Position 1 = 532
Branch analysis from position: 532
Branch analysis from position: 470
Branch analysis from position: 521
2 jumps found. (Code = 43) Position 1 = 534, Position 2 = 535
Branch analysis from position: 534
Branch analysis from position: 535
Branch analysis from position: 459
Branch analysis from position: 454
Branch analysis from position: 432
Branch analysis from position: 280
2 jumps found. (Code = 43) Position 1 = 423, Position 2 = 432
Branch analysis from position: 423
Branch analysis from position: 432
Branch analysis from position: 268
2 jumps found. (Code = 43) Position 1 = 278, Position 2 = 280
Branch analysis from position: 278
Branch analysis from position: 280
Branch analysis from position: 256
2 jumps found. (Code = 43) Position 1 = 266, Position 2 = 268
Branch analysis from position: 266
Branch analysis from position: 268
Branch analysis from position: 244
2 jumps found. (Code = 43) Position 1 = 254, Position 2 = 256
Branch analysis from position: 254
Branch analysis from position: 256
Branch analysis from position: 232
2 jumps found. (Code = 43) Position 1 = 242, Position 2 = 244
Branch analysis from position: 242
Branch analysis from position: 244
Branch analysis from position: 229
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 19
filename:       /in/DVvuT
function name:  date_range
number of ops:  539
compiled vars:  !0 = $start_date, !1 = $end_date, !2 = $return_array, !3 = $args, !4 = $display_format, !5 = $obj, !6 = $end_stamp
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   31     0  E >   RECV_INIT                                        !0      ''
          1        RECV_INIT                                        !1      ''
          2        RECV_INIT                                        !2      <false>
   34     3        FUNC_GET_ARGS                                    ~7      
          4        ASSIGN                                                   !3, ~7
   39     5        TYPE_CHECK                                  128          !0
          6      > JMPZ                                                     ~9, ->19
   41     7    >   FETCH_DIM_R                                      ~10     !3, 0
          8        FETCH_DIM_R                                      ~11     ~10, 'start'
          9        ASSIGN                                                   !0, ~11
   42    10        FETCH_DIM_R                                      ~13     !3, 0
         11        FETCH_DIM_R                                      ~14     ~13, 'end'
         12        ASSIGN                                                   !1, ~14
   43    13        FETCH_DIM_R                                      ~16     !3, 0
         14        FETCH_DIM_R                                      ~17     ~16, 'format'
         15        ASSIGN                                                   !4, ~17
   44    16        FETCH_DIM_R                                      ~19     !3, 0
         17        FETCH_DIM_R                                      ~20     ~19, 'array'
         18        ASSIGN                                                   !2, ~20
   46    19    >   UNSET_CV                                                 !3
   49    20        ISSET_ISEMPTY_CV                                 ~22     !1
         21      > JMPNZ_EX                                         ~22     ~22, ->30
         22    >   INIT_FCALL                                               'strtotime'
         23        SEND_VAR                                                 !0
         24        DO_ICALL                                         $23     
         25        INIT_FCALL                                               'strtotime'
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                         $24     
         28        IS_SMALLER_OR_EQUAL                              ~25     $24, $23
         29        BOOL                                             ~22     ~25
         30    > > JMPZ                                                     ~22, ->32
         31    >   ASSIGN                                                   !1, !0
   51    32    >   NEW                                              $27     'stdClass'
         33        DO_FCALL                                      0          
         34        ASSIGN                                                   !5, $27
   54    35        NEW                                              $31     'stdClass'
         36        DO_FCALL                                      0          
         37        ASSIGN_OBJ                                               !5, 'timestamp'
         38        OP_DATA                                                  $31
   55    39        INIT_FCALL                                               'strtotime'
         40        INIT_FCALL                                               'date'
         41        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
         42        DO_ICALL                                         $35     
         43        SEND_VAR                                                 $35
         44        DO_ICALL                                         $36     
         45        FETCH_OBJ_W                                      $33     !5, 'timestamp'
         46        ASSIGN_OBJ                                               $33, 'current'
         47        OP_DATA                                                  $36
   56    48        INIT_FCALL                                               'strtotime'
         49        SEND_VAR                                                 !0
         50        DO_ICALL                                         $39     
         51        FETCH_OBJ_W                                      $37     !5, 'timestamp'
         52        ASSIGN_OBJ                                               $37, 'start'
         53        OP_DATA                                                  $39
   57    54        INIT_FCALL                                               'strtotime'
         55        SEND_VAR                                                 !1
         56        DO_ICALL                                         $42     
         57        FETCH_OBJ_W                                      $40     !5, 'timestamp'
         58        ASSIGN_OBJ                                               $40, 'end'
         59        OP_DATA                                                  $42
   60    60        INIT_FCALL                                               'explode'
         61        SEND_VAL                                                 '+'
         62        INIT_FCALL                                               'date'
         63        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         64        DO_ICALL                                         $45     
         65        SEND_VAR                                                 $45
         66        DO_ICALL                                         $46     
         67        FETCH_OBJ_W                                      $43     !5, 'ts'
         68        ASSIGN_OBJ                                               $43, 'current'
         69        OP_DATA                                                  $46
   61    70        INIT_FCALL                                               'explode'
         71        SEND_VAL                                                 '+'
         72        INIT_FCALL                                               'date'
         73        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         74        FETCH_OBJ_R                                      ~49     !5, 'timestamp'
         75        FETCH_OBJ_R                                      ~50     ~49, 'start'
         76        SEND_VAL                                                 ~50
         77        DO_ICALL                                         $51     
         78        SEND_VAR                                                 $51
         79        DO_ICALL                                         $52     
         80        FETCH_OBJ_W                                      $47     !5, 'ts'
         81        ASSIGN_OBJ                                               $47, 'start'
         82        OP_DATA                                                  $52
   62    83        INIT_FCALL                                               'explode'
         84        SEND_VAL                                                 '+'
         85        INIT_FCALL                                               'date'
         86        SEND_VAL                                                 'Y+m+d+H+i+s+A'
         87        FETCH_OBJ_R                                      ~55     !5, 'timestamp'
         88        FETCH_OBJ_R                                      ~56     ~55, 'end'
         89        SEND_VAL                                                 ~56
         90        DO_ICALL                                         $57     
         91        SEND_VAR                                                 $57
         92        DO_ICALL                                         $58     
         93        FETCH_OBJ_W                                      $53     !5, 'ts'
         94        ASSIGN_OBJ                                               $53, 'end'
         95        OP_DATA                                                  $58
   65    96        NEW                                              $60     'stdClass'
         97        DO_FCALL                                      0          
         98        ASSIGN_OBJ                                               !5, 'ts_current'
         99        OP_DATA                                                  $60
   66   100        FETCH_OBJ_R                                      ~64     !5, 'ts'
        101        FETCH_OBJ_R                                      ~65     ~64, 'current'
        102        FETCH_DIM_R                                      ~66     ~65, 0
        103        FETCH_OBJ_W                                      $62     !5, 'ts_current'
        104        ASSIGN_OBJ                                               $62, 'year'
        105        OP_DATA                                                  ~66
   67   106        FETCH_OBJ_R                                      ~69     !5, 'ts'
        107        FETCH_OBJ_R                                      ~70     ~69, 'current'
        108        FETCH_DIM_R                                      ~71     ~70, 1
        109        FETCH_OBJ_W                                      $67     !5, 'ts_current'
        110        ASSIGN_OBJ                                               $67, 'month'
        111        OP_DATA                                                  ~71
   68   112        FETCH_OBJ_R                                      ~74     !5, 'ts'
        113        FETCH_OBJ_R                                      ~75     ~74, 'current'
        114        FETCH_DIM_R                                      ~76     ~75, 2
        115        FETCH_OBJ_W                                      $72     !5, 'ts_current'
        116        ASSIGN_OBJ                                               $72, 'day'
        117        OP_DATA                                                  ~76
   69   118        FETCH_OBJ_R                                      ~79     !5, 'ts'
        119        FETCH_OBJ_R                                      ~80     ~79, 'current'
        120        FETCH_DIM_R                                      ~81     ~80, 3
        121        CONCAT                                           ~82     ~81, '%3A'
        122        FETCH_OBJ_R                                      ~83     !5, 'ts'
        123        FETCH_OBJ_R                                      ~84     ~83, 'start'
        124        FETCH_DIM_R                                      ~85     ~84, 4
        125        CONCAT                                           ~86     ~82, ~85
        126        FETCH_OBJ_W                                      $77     !5, 'ts_current'
        127        ASSIGN_OBJ                                               $77, 'time'
        128        OP_DATA                                                  ~86
   70   129        FETCH_OBJ_R                                      ~89     !5, 'ts'
        130        FETCH_OBJ_R                                      ~90     ~89, 'current'
        131        FETCH_DIM_R                                      ~91     ~90, 6
        132        FETCH_OBJ_W                                      $87     !5, 'ts_current'
        133        ASSIGN_OBJ                                               $87, 'ampm'
        134        OP_DATA                                                  ~91
   73   135        NEW                                              $93     'stdClass'
        136        DO_FCALL                                      0          
        137        ASSIGN_OBJ                                               !5, 'ts_start'
        138        OP_DATA                                                  $93
   74   139        FETCH_OBJ_R                                      ~97     !5, 'ts'
        140        FETCH_OBJ_R                                      ~98     ~97, 'start'
        141        FETCH_DIM_R                                      ~99     ~98, 0
        142        FETCH_OBJ_W                                      $95     !5, 'ts_start'
        143        ASSIGN_OBJ                                               $95, 'year'
        144        OP_DATA                                                  ~99
   75   145        FETCH_OBJ_R                                      ~102    !5, 'ts'
        146        FETCH_OBJ_R                                      ~103    ~102, 'start'
        147        FETCH_DIM_R                                      ~104    ~103, 1
        148        FETCH_OBJ_W                                      $100    !5, 'ts_start'
        149        ASSIGN_OBJ                                               $100, 'month'
        150        OP_DATA                                                  ~104
   76   151        FETCH_OBJ_R                                      ~107    !5, 'ts'
        152        FETCH_OBJ_R                                      ~108    ~107, 'start'
        153        FETCH_DIM_R                                      ~109    ~108, 2
        154        FETCH_OBJ_W                                      $105    !5, 'ts_start'
        155        ASSIGN_OBJ                                               $105, 'day'
        156        OP_DATA                                                  ~109
   77   157        FETCH_OBJ_R                                      ~112    !5, 'ts'
        158        FETCH_OBJ_R                                      ~113    ~112, 'start'
        159        FETCH_DIM_R                                      ~114    ~113, 3
        160        CONCAT                                           ~115    ~114, '%3A'
        161        FETCH_OBJ_R                                      ~116    !5, 'ts'
        162        FETCH_OBJ_R                                      ~117    ~116, 'start'
        163        FETCH_DIM_R                                      ~118    ~117, 4
        164        CONCAT                                           ~119    ~115, ~118
        165        FETCH_OBJ_W                                      $110    !5, 'ts_start'
        166        ASSIGN_OBJ                                               $110, 'time'
        167        OP_DATA                                                  ~119
   78   168        FETCH_OBJ_R                                      ~122    !5, 'ts'
        169        FETCH_OBJ_R                                      ~123    ~122, 'start'
        170        FETCH_DIM_R                                      ~124    ~123, 6
        171        FETCH_OBJ_W                                      $120    !5, 'ts_start'
        172        ASSIGN_OBJ                                               $120, 'ampm'
        173        OP_DATA                                                  ~124
   81   174        NEW                                              $126    'stdClass'
        175        DO_FCALL                                      0          
        176        ASSIGN_OBJ                                               !5, 'ts_end'
        177        OP_DATA                                                  $126
   82   178        FETCH_OBJ_R                                      ~130    !5, 'ts'
        179        FETCH_OBJ_R                                      ~131    ~130, 'end'
        180        FETCH_DIM_R                                      ~132    ~131, 0
        181        FETCH_OBJ_W                                      $128    !5, 'ts_end'
        182        ASSIGN_OBJ                                               $128, 'year'
        183        OP_DATA                                                  ~132
   83   184        FETCH_OBJ_R                                      ~135    !5, 'ts'
        185        FETCH_OBJ_R                                      ~136    ~135, 'end'
        186        FETCH_DIM_R                                      ~137    ~136, 1
        187        FETCH_OBJ_W                                      $133    !5, 'ts_end'
        188        ASSIGN_OBJ                                               $133, 'month'
        189        OP_DATA                                                  ~137
   84   190        FETCH_OBJ_R                                      ~140    !5, 'ts'
        191        FETCH_OBJ_R                                      ~141    ~140, 'end'
        192        FETCH_DIM_R                                      ~142    ~141, 2
        193        FETCH_OBJ_W                                      $138    !5, 'ts_end'
        194        ASSIGN_OBJ                                               $138, 'day'
        195        OP_DATA                                                  ~142
   85   196        FETCH_OBJ_R                                      ~145    !5, 'ts'
        197        FETCH_OBJ_R                                      ~146    ~145, 'end'
        198        FETCH_DIM_R                                      ~147    ~146, 3
        199        CONCAT                                           ~148    ~147, '%3A'
        200        FETCH_OBJ_R                                      ~149    !5, 'ts'
        201        FETCH_OBJ_R                                      ~150    ~149, 'start'
        202        FETCH_DIM_R                                      ~151    ~150, 4
        203        CONCAT                                           ~152    ~148, ~151
        204        FETCH_OBJ_W                                      $143    !5, 'ts_end'
        205        ASSIGN_OBJ                                               $143, 'time'
        206        OP_DATA                                                  ~152
   86   207        FETCH_OBJ_R                                      ~155    !5, 'ts'
        208        FETCH_OBJ_R                                      ~156    ~155, 'end'
        209        FETCH_DIM_R                                      ~157    ~156, 6
        210        FETCH_OBJ_W                                      $153    !5, 'ts_end'
        211        ASSIGN_OBJ                                               $153, 'ampm'
        212        OP_DATA                                                  ~157
   89   213        NEW                                              $159    'stdClass'
        214        DO_FCALL                                      0          
        215        ASSIGN_OBJ                                               !5, 'dif'
        216        OP_DATA                                                  $159
   90   217        FETCH_OBJ_R                                      ~163    !5, 'ts_end'
        218        FETCH_OBJ_R                                      ~164    ~163, 'year'
        219        FETCH_OBJ_R                                      ~165    !5, 'ts_start'
        220        FETCH_OBJ_R                                      ~166    ~165, 'year'
        221        IS_SMALLER                                       ~167    ~166, ~164
        222      > JMPNZ_EX                                         ~167    ~167, ->229
        223    >   FETCH_OBJ_R                                      ~168    !5, 'ts_start'
        224        FETCH_OBJ_R                                      ~169    ~168, 'year'
        225        FETCH_OBJ_R                                      ~170    !5, 'ts_current'
        226        FETCH_OBJ_R                                      ~171    ~170, 'year'
        227        IS_SMALLER                                       ~172    ~171, ~169
        228        BOOL                                             ~167    ~172
        229    > > JMPZ                                                     ~167, ->232
        230    >   QM_ASSIGN                                        ~173    <true>
        231      > JMP                                                      ->233
        232    >   QM_ASSIGN                                        ~173    <false>
        233    >   FETCH_OBJ_W                                      $161    !5, 'dif'
        234        ASSIGN_OBJ                                               $161, 'year'
        235        OP_DATA                                                  ~173
   91   236        FETCH_OBJ_R                                      ~176    !5, 'ts_end'
        237        FETCH_OBJ_R                                      ~177    ~176, 'month'
        238        FETCH_OBJ_R                                      ~178    !5, 'ts_start'
        239        FETCH_OBJ_R                                      ~179    ~178, 'month'
        240        IS_SMALLER                                               ~179, ~177
        241      > JMPZ                                                     ~180, ->244
        242    >   QM_ASSIGN                                        ~181    <true>
        243      > JMP                                                      ->245
        244    >   QM_ASSIGN                                        ~181    <false>
        245    >   FETCH_OBJ_W                                      $174    !5, 'dif'
        246        ASSIGN_OBJ                                               $174, 'month'
        247        OP_DATA                                                  ~181
   92   248        FETCH_OBJ_R                                      ~184    !5, 'ts_end'
        249        FETCH_OBJ_R                                      ~185    ~184, 'day'
        250        FETCH_OBJ_R                                      ~186    !5, 'ts_start'
        251        FETCH_OBJ_R                                      ~187    ~186, 'day'
        252        IS_SMALLER                                               ~187, ~185
        253      > JMPZ                                                     ~188, ->256
        254    >   QM_ASSIGN                                        ~189    <true>
        255      > JMP                                                      ->257
        256    >   QM_ASSIGN                                        ~189    <false>
        257    >   FETCH_OBJ_W                                      $182    !5, 'dif'
        258        ASSIGN_OBJ                                               $182, 'day'
        259        OP_DATA                                                  ~189
   93   260        FETCH_OBJ_R                                      ~192    !5, 'ts_end'
        261        FETCH_OBJ_R                                      ~193    ~192, 'time'
        262        FETCH_OBJ_R                                      ~194    !5, 'ts_start'
        263        FETCH_OBJ_R                                      ~195    ~194, 'time'
        264        IS_SMALLER                                               ~195, ~193
        265      > JMPZ                                                     ~196, ->268
        266    >   QM_ASSIGN                                        ~197    <true>
        267      > JMP                                                      ->269
        268    >   QM_ASSIGN                                        ~197    <false>
        269    >   FETCH_OBJ_W                                      $190    !5, 'dif'
        270        ASSIGN_OBJ                                               $190, 'time'
        271        OP_DATA                                                  ~197
   94   272        FETCH_OBJ_R                                      ~200    !5, 'ts_end'
        273        FETCH_OBJ_R                                      ~201    ~200, 'ampm'
        274        FETCH_OBJ_R                                      ~202    !5, 'ts_start'
        275        FETCH_OBJ_R                                      ~203    ~202, 'ampm'
        276        IS_SMALLER                                               ~203, ~201
        277      > JMPZ                                                     ~204, ->280
        278    >   QM_ASSIGN                                        ~205    <true>
        279      > JMP                                                      ->281
        280    >   QM_ASSIGN                                        ~205    <false>
        281    >   FETCH_OBJ_W                                      $198    !5, 'dif'
        282        ASSIGN_OBJ                                               $198, 'ampm'
        283        OP_DATA                                                  ~205
   97   284        NEW                                              $207    'stdClass'
        285        DO_FCALL                                      0          
        286        ASSIGN_OBJ                                               !5, 'display'
        287        OP_DATA                                                  $207
   98   288        NEW                                              $211    'stdClass'
        289        DO_FCALL                                      0          
        290        FETCH_OBJ_W                                      $209    !5, 'display'
        291        ASSIGN_OBJ                                               $209, 'start'
        292        OP_DATA                                                  $211
   99   293        INIT_FCALL                                               'date'
        294        SEND_VAL                                                 'Y'
        295        FETCH_OBJ_R                                      ~216    !5, 'timestamp'
        296        FETCH_OBJ_R                                      ~217    ~216, 'start'
        297        SEND_VAL                                                 ~217
        298        DO_ICALL                                         $218    
        299        FETCH_OBJ_W                                      $213    !5, 'display'
        300        FETCH_OBJ_W                                      $214    $213, 'start'
        301        ASSIGN_OBJ                                               $214, 'year'
        302        OP_DATA                                                  $218
  100   303        INIT_FCALL                                               'date'
        304        SEND_VAL                                                 'F'
        305        FETCH_OBJ_R                                      ~222    !5, 'timestamp'
        306        FETCH_OBJ_R                                      ~223    ~222, 'start'
        307        SEND_VAL                                                 ~223
        308        DO_ICALL                                         $224    
        309        FETCH_OBJ_W                                      $219    !5, 'display'
        310        FETCH_OBJ_W                                      $220    $219, 'start'
        311        ASSIGN_OBJ                              

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
256.59 ms | 1428 KiB | 20 Q