3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = new DateTime('2015-09-01'); $b = new DateTime('2015-09-20'); $fw = $a->diff($b); $bw = $b->diff($a); echo "{$fw->days}, {$fw->d}\n"; echo "{$bw->days}, {$bw->d}\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/34pJG
function name:  (null)
number of ops:  31
compiled vars:  !0 = $a, !1 = $b, !2 = $fw, !3 = $bw
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   NEW                                              $4      'DateTime'
          1        SEND_VAL_EX                                              '2015-09-01'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $4
    3     4        NEW                                              $7      'DateTime'
          5        SEND_VAL_EX                                              '2015-09-20'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $7
    5     8        INIT_METHOD_CALL                                         !0, 'diff'
          9        SEND_VAR_EX                                              !1
         10        DO_FCALL                                      0  $10     
         11        ASSIGN                                                   !2, $10
    6    12        INIT_METHOD_CALL                                         !1, 'diff'
         13        SEND_VAR_EX                                              !0
         14        DO_FCALL                                      0  $12     
         15        ASSIGN                                                   !3, $12
    8    16        FETCH_OBJ_R                                      ~14     !2, 'days'
         17        ROPE_INIT                                     4  ~17     ~14
         18        ROPE_ADD                                      1  ~17     ~17, '%2C+'
         19        FETCH_OBJ_R                                      ~15     !2, 'd'
         20        ROPE_ADD                                      2  ~17     ~17, ~15
         21        ROPE_END                                      3  ~16     ~17, '%0A'
         22        ECHO                                                     ~16
    9    23        FETCH_OBJ_R                                      ~19     !3, 'days'
         24        ROPE_INIT                                     4  ~22     ~19
         25        ROPE_ADD                                      1  ~22     ~22, '%2C+'
         26        FETCH_OBJ_R                                      ~20     !3, 'd'
         27        ROPE_ADD                                      2  ~22     ~22, ~20
         28        ROPE_END                                      3  ~21     ~22, '%0A'
         29        ECHO                                                     ~21
         30      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.56 ms | 1394 KiB | 13 Q