3v4l.org

run code in 300+ PHP versions simultaneously
<?php date_default_timezone_set('Europe/Berlin'); $date = new DateTime(); $date->setDate(2015, 10, 25); $date->setTime(1, 30, 0); $date2 = clone $date; // Add two hours $date->add(new DateInterval('PT2H')); // Add two times one hour $date2->add(new DateInterval('PT1H')); $date2->add(new DateInterval('PT1H')); echo "Spot the difference: ".$date->format(DateTime::ATOM)." <---> ".$date2->format(DateTime::ATOM)."\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/mZ9om
function name:  (null)
number of ops:  48
compiled vars:  !0 = $date, !1 = $date2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'date_default_timezone_set'
          1        SEND_VAL                                                 'Europe%2FBerlin'
          2        DO_ICALL                                                 
    3     3        NEW                                              $3      'DateTime'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $3
    4     6        INIT_METHOD_CALL                                         !0, 'setDate'
          7        SEND_VAL_EX                                              2015
          8        SEND_VAL_EX                                              10
          9        SEND_VAL_EX                                              25
         10        DO_FCALL                                      0          
    5    11        INIT_METHOD_CALL                                         !0, 'setTime'
         12        SEND_VAL_EX                                              1
         13        SEND_VAL_EX                                              30
         14        SEND_VAL_EX                                              0
         15        DO_FCALL                                      0          
    6    16        CLONE                                            ~8      !0
         17        ASSIGN                                                   !1, ~8
    9    18        INIT_METHOD_CALL                                         !0, 'add'
         19        NEW                                              $10     'DateInterval'
         20        SEND_VAL_EX                                              'PT2H'
         21        DO_FCALL                                      0          
         22        SEND_VAR_NO_REF_EX                                       $10
         23        DO_FCALL                                      0          
   12    24        INIT_METHOD_CALL                                         !1, 'add'
         25        NEW                                              $13     'DateInterval'
         26        SEND_VAL_EX                                              'PT1H'
         27        DO_FCALL                                      0          
         28        SEND_VAR_NO_REF_EX                                       $13
         29        DO_FCALL                                      0          
   13    30        INIT_METHOD_CALL                                         !1, 'add'
         31        NEW                                              $16     'DateInterval'
         32        SEND_VAL_EX                                              'PT1H'
         33        DO_FCALL                                      0          
         34        SEND_VAR_NO_REF_EX                                       $16
         35        DO_FCALL                                      0          
   15    36        INIT_METHOD_CALL                                         !0, 'format'
         37        SEND_VAL_EX                                              'Y-m-d%5CTH%3Ai%3AsP'
         38        DO_FCALL                                      0  $19     
         39        CONCAT                                           ~20     'Spot+the+difference%3A+', $19
         40        CONCAT                                           ~21     ~20, '+%3C---%3E+'
         41        INIT_METHOD_CALL                                         !1, 'format'
         42        SEND_VAL_EX                                              'Y-m-d%5CTH%3Ai%3AsP'
         43        DO_FCALL                                      0  $22     
         44        CONCAT                                           ~23     ~21, $22
         45        CONCAT                                           ~24     ~23, '%0A'
         46        ECHO                                                     ~24
         47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.55 ms | 1400 KiB | 15 Q