3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date1 = new DateTime('2014-07-01'); $date2= new DateTime('2014-07-05'); $interval=$date2->diff($date1); echo "Years: {$interval->y }\n"; echo "Months: {$interval->m }\n"; echo "Days: {$interval->d }\n"; echo "Hours: {$interval->h }\n"; echo "Mins: {$interval->i }\n"; echo "Secs: {$interval->s }\n"; echo $interval->format("%Y years, %m months, %d days, %H hours, %i minutes, %s seconds") . "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kk6qK
function name:  (null)
number of ops:  48
compiled vars:  !0 = $date1, !1 = $date2, !2 = $interval
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   NEW                                              $3      'DateTime'
          1        SEND_VAL_EX                                              '2014-07-01'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $3
    3     4        NEW                                              $6      'DateTime'
          5        SEND_VAL_EX                                              '2014-07-05'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $6
    4     8        INIT_METHOD_CALL                                         !1, 'diff'
          9        SEND_VAR_EX                                              !0
         10        DO_FCALL                                      0  $9      
         11        ASSIGN                                                   !2, $9
    5    12        ROPE_INIT                                     3  ~13     'Years%3A+'
         13        FETCH_OBJ_R                                      ~11     !2, 'y'
         14        ROPE_ADD                                      1  ~13     ~13, ~11
         15        ROPE_END                                      2  ~12     ~13, '%0A'
         16        ECHO                                                     ~12
    6    17        ROPE_INIT                                     3  ~17     'Months%3A+'
         18        FETCH_OBJ_R                                      ~15     !2, 'm'
         19        ROPE_ADD                                      1  ~17     ~17, ~15
         20        ROPE_END                                      2  ~16     ~17, '%0A'
         21        ECHO                                                     ~16
    7    22        ROPE_INIT                                     3  ~21     'Days%3A+'
         23        FETCH_OBJ_R                                      ~19     !2, 'd'
         24        ROPE_ADD                                      1  ~21     ~21, ~19
         25        ROPE_END                                      2  ~20     ~21, '%0A'
         26        ECHO                                                     ~20
    8    27        ROPE_INIT                                     3  ~25     'Hours%3A+'
         28        FETCH_OBJ_R                                      ~23     !2, 'h'
         29        ROPE_ADD                                      1  ~25     ~25, ~23
         30        ROPE_END                                      2  ~24     ~25, '%0A'
         31        ECHO                                                     ~24
    9    32        ROPE_INIT                                     3  ~29     'Mins%3A+'
         33        FETCH_OBJ_R                                      ~27     !2, 'i'
         34        ROPE_ADD                                      1  ~29     ~29, ~27
         35        ROPE_END                                      2  ~28     ~29, '%0A'
         36        ECHO                                                     ~28
   10    37        ROPE_INIT                                     3  ~33     'Secs%3A+'
         38        FETCH_OBJ_R                                      ~31     !2, 's'
         39        ROPE_ADD                                      1  ~33     ~33, ~31
         40        ROPE_END                                      2  ~32     ~33, '%0A'
         41        ECHO                                                     ~32
   11    42        INIT_METHOD_CALL                                         !2, 'format'
         43        SEND_VAL_EX                                              '%25Y+years%2C+%25m+months%2C+%25d+days%2C++%25H+hours%2C+%25i+minutes%2C+%25s+seconds'
         44        DO_FCALL                                      0  $35     
         45        CONCAT                                           ~36     $35, '%0A'
         46        ECHO                                                     ~36
         47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.59 ms | 1399 KiB | 13 Q