3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dateWithoutZeros = new DateTime('2014-03-12'); $compWithoutZeros = new DateTime('2014-03-11'); $dateWithZeros = new DateTime('2014-03-12 00:00:00'); $compWithZeros = new DateTime('2014-03-11 00:00:00'); while ($dateWithZeros >= new DateTime('2014-01-01 00:00:00')) { $diffWithZeros = $compWithZeros->diff($dateWithZeros); $diffWithoutZeros = $compWithoutZeros->diff($dateWithoutZeros); echo $compWithZeros->format('Y-m-d H:i:s'), ' - ', $dateWithZeros->format('Y-m-d H:i:s'), ' = ', $diffWithZeros->format('%r%Y-%M-%D %H:%I:%S'), ' = ', $diffWithZeros->format('%r%a'), " days\n"; echo $compWithoutZeros->format('Y-m-d H:i:s'), ' - ', $dateWithoutZeros->format('Y-m-d H:i:s'), ' = ', $diffWithoutZeros->format('%r%Y-%M-%D %H:%I:%S'), ' = ', $diffWithoutZeros->format('%r%a'), " days\n"; $dateWithoutZeros->sub(new DateInterval('P1D')); $dateWithZeros->sub(new DateInterval('P1D')); }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 77
Branch analysis from position: 77
2 jumps found. (Code = 44) Position 1 = 82, Position 2 = 17
Branch analysis from position: 82
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 82, Position 2 = 17
Branch analysis from position: 82
Branch analysis from position: 17
filename:       /in/ufoKH
function name:  (null)
number of ops:  83
compiled vars:  !0 = $dateWithoutZeros, !1 = $compWithoutZeros, !2 = $dateWithZeros, !3 = $compWithZeros, !4 = $diffWithZeros, !5 = $diffWithoutZeros
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $6      'DateTime'
          1        SEND_VAL_EX                                              '2014-03-12'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $6
    4     4        NEW                                              $9      'DateTime'
          5        SEND_VAL_EX                                              '2014-03-11'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $9
    5     8        NEW                                              $12     'DateTime'
          9        SEND_VAL_EX                                              '2014-03-12+00%3A00%3A00'
         10        DO_FCALL                                      0          
         11        ASSIGN                                                   !2, $12
    6    12        NEW                                              $15     'DateTime'
         13        SEND_VAL_EX                                              '2014-03-11+00%3A00%3A00'
         14        DO_FCALL                                      0          
         15        ASSIGN                                                   !3, $15
    8    16      > JMP                                                      ->77
    9    17    >   INIT_METHOD_CALL                                         !3, 'diff'
         18        SEND_VAR_EX                                              !2
         19        DO_FCALL                                      0  $18     
         20        ASSIGN                                                   !4, $18
   10    21        INIT_METHOD_CALL                                         !1, 'diff'
         22        SEND_VAR_EX                                              !0
         23        DO_FCALL                                      0  $20     
         24        ASSIGN                                                   !5, $20
   12    25        INIT_METHOD_CALL                                         !3, 'format'
         26        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         27        DO_FCALL                                      0  $22     
         28        ECHO                                                     $22
         29        ECHO                                                     '+-+'
   13    30        INIT_METHOD_CALL                                         !2, 'format'
         31        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         32        DO_FCALL                                      0  $23     
         33        ECHO                                                     $23
         34        ECHO                                                     '+%3D+'
   14    35        INIT_METHOD_CALL                                         !4, 'format'
         36        SEND_VAL_EX                                              '%25r%25Y-%25M-%25D+%25H%3A%25I%3A%25S'
         37        DO_FCALL                                      0  $24     
         38        ECHO                                                     $24
         39        ECHO                                                     '+%3D+'
   15    40        INIT_METHOD_CALL                                         !4, 'format'
         41        SEND_VAL_EX                                              '%25r%25a'
         42        DO_FCALL                                      0  $25     
         43        ECHO                                                     $25
         44        ECHO                                                     '+days%0A'
   17    45        INIT_METHOD_CALL                                         !1, 'format'
         46        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         47        DO_FCALL                                      0  $26     
         48        ECHO                                                     $26
         49        ECHO                                                     '+-+'
   18    50        INIT_METHOD_CALL                                         !0, 'format'
         51        SEND_VAL_EX                                              'Y-m-d+H%3Ai%3As'
         52        DO_FCALL                                      0  $27     
         53        ECHO                                                     $27
         54        ECHO                                                     '+%3D+'
   19    55        INIT_METHOD_CALL                                         !5, 'format'
         56        SEND_VAL_EX                                              '%25r%25Y-%25M-%25D+%25H%3A%25I%3A%25S'
         57        DO_FCALL                                      0  $28     
         58        ECHO                                                     $28
         59        ECHO                                                     '+%3D+'
   20    60        INIT_METHOD_CALL                                         !5, 'format'
         61        SEND_VAL_EX                                              '%25r%25a'
         62        DO_FCALL                                      0  $29     
         63        ECHO                                                     $29
         64        ECHO                                                     '+days%0A'
   22    65        INIT_METHOD_CALL                                         !0, 'sub'
         66        NEW                                              $30     'DateInterval'
         67        SEND_VAL_EX                                              'P1D'
         68        DO_FCALL                                      0          
         69        SEND_VAR_NO_REF_EX                                       $30
         70        DO_FCALL                                      0          
   23    71        INIT_METHOD_CALL                                         !2, 'sub'
         72        NEW                                              $33     'DateInterval'
         73        SEND_VAL_EX                                              'P1D'
         74        DO_FCALL                                      0          
         75        SEND_VAR_NO_REF_EX                                       $33
         76        DO_FCALL                                      0          
    8    77    >   NEW                                              $36     'DateTime'
         78        SEND_VAL_EX                                              '2014-01-01+00%3A00%3A00'
         79        DO_FCALL                                      0          
         80        IS_SMALLER_OR_EQUAL                                      $36, !2
         81      > JMPNZ                                                    ~38, ->17
   24    82    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.92 ms | 1399 KiB | 13 Q