3v4l.org

run code in 500+ PHP versions simultaneously
<?php //$start = DateTime::createFromFormat('U', 1347577200); //$end = DateTime::createFromFormat('U', 1347580800); $start = new DateTime('09/13/2012 7:00pm'); $end = new DateTime('09/13/2012 8:00pm'); $diff = $start->diff($end); print 'Diff: '.$diff->h.' hours, '.$diff->i.' minutes'."\n"; $interval = DateInterval::createFromDateString('30 minutes'); var_dump($interval); $end->add($interval); $diff = $start->diff($end); print "\n".'Diff after interval: '.$diff->h.' hours, '.$diff->i.' minutes'; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/i79gb
function name:  (null)
number of ops:  42
compiled vars:  !0 = $start, !1 = $end, !2 = $diff, !3 = $interval
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    5     0  E >   NEW                                                  $4      'DateTime'
          1        SEND_VAL_EX                                                  '09%2F13%2F2012+7%3A00pm'
          2        DO_FCALL                                          0          
          3        ASSIGN                                                       !0, $4
    6     4        NEW                                                  $7      'DateTime'
          5        SEND_VAL_EX                                                  '09%2F13%2F2012+8%3A00pm'
          6        DO_FCALL                                          0          
          7        ASSIGN                                                       !1, $7
    8     8        INIT_METHOD_CALL                                             !0, 'diff'
          9        SEND_VAR_EX                                                  !1
         10        DO_FCALL                                          0  $10     
         11        ASSIGN                                                       !2, $10
    9    12        FETCH_OBJ_R                                          ~12     !2, 'h'
         13        CONCAT                                               ~13     'Diff%3A+', ~12
         14        CONCAT                                               ~14     ~13, '+hours%2C+'
         15        FETCH_OBJ_R                                          ~15     !2, 'i'
         16        CONCAT                                               ~16     ~14, ~15
         17        CONCAT                                               ~17     ~16, '+minutes'
         18        CONCAT                                               ~18     ~17, '%0A'
         19        ECHO                                                         ~18
   12    20        INIT_STATIC_METHOD_CALL                                      'DateInterval', 'createFromDateString'
         21        SEND_VAL                                                     '30+minutes'
         22        DO_FCALL                                          0  $19     
         23        ASSIGN                                                       !3, $19
   13    24        INIT_FCALL                                                   'var_dump'
         25        SEND_VAR                                                     !3
         26        DO_ICALL                                                     
   15    27        INIT_METHOD_CALL                                             !1, 'add'
         28        SEND_VAR_EX                                                  !3
         29        DO_FCALL                                          0          
   16    30        INIT_METHOD_CALL                                             !0, 'diff'
         31        SEND_VAR_EX                                                  !1
         32        DO_FCALL                                          0  $23     
         33        ASSIGN                                                       !2, $23
   17    34        FETCH_OBJ_R                                          ~25     !2, 'h'
         35        CONCAT                                               ~26     '%0ADiff+after+interval%3A+', ~25
         36        CONCAT                                               ~27     ~26, '+hours%2C+'
         37        FETCH_OBJ_R                                          ~28     !2, 'i'
         38        CONCAT                                               ~29     ~27, ~28
         39        CONCAT                                               ~30     ~29, '+minutes'
         40        ECHO                                                         ~30
   18    41      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
163.61 ms | 3504 KiB | 14 Q