3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dt1 = new DateTime('1 year ago'); $dt2 = new DateTime('yesterday'); $dt3 = new DateTime(); $longest = $dt1->diff($dt3); $shortest = $dt2->diff($dt3); $middle = $dt1->diff($dt2); var_dump($longest > $shortest); var_dump($longest > $middle); var_dump($longest < $shortest); $int15 = new DateInterval('P15D'); $int20 = new DateInterval('P20D'); $date = new DateTime(); $diff = $date->diff(new DateTime("+10 days")); var_dump($int15 < $diff); //should be false; var_dump($diff < $int15); //should be true; var_dump($int15 > $diff); //should be true; var_dump($diff > $int15); //should be false; var_dump($diff); var_dump($int15 < $diff); //should be false; var_dump($diff < $int15); //should be true; var_dump($int15 > $diff); //should be true; var_dump($diff > $int15); //should be false;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3RhjI
function name:  (null)
number of ops:  89
compiled vars:  !0 = $dt1, !1 = $dt2, !2 = $dt3, !3 = $longest, !4 = $shortest, !5 = $middle, !6 = $int15, !7 = $int20, !8 = $date, !9 = $diff
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   NEW                                              $10     'DateTime'
          1        SEND_VAL_EX                                              '1+year+ago'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $10
    4     4        NEW                                              $13     'DateTime'
          5        SEND_VAL_EX                                              'yesterday'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $13
    5     8        NEW                                              $16     'DateTime'
          9        DO_FCALL                                      0          
         10        ASSIGN                                                   !2, $16
    7    11        INIT_METHOD_CALL                                         !0, 'diff'
         12        SEND_VAR_EX                                              !2
         13        DO_FCALL                                      0  $19     
         14        ASSIGN                                                   !3, $19
    8    15        INIT_METHOD_CALL                                         !1, 'diff'
         16        SEND_VAR_EX                                              !2
         17        DO_FCALL                                      0  $21     
         18        ASSIGN                                                   !4, $21
    9    19        INIT_METHOD_CALL                                         !0, 'diff'
         20        SEND_VAR_EX                                              !1
         21        DO_FCALL                                      0  $23     
         22        ASSIGN                                                   !5, $23
   11    23        INIT_FCALL                                               'var_dump'
         24        IS_SMALLER                                       ~25     !4, !3
         25        SEND_VAL                                                 ~25
         26        DO_ICALL                                                 
   12    27        INIT_FCALL                                               'var_dump'
         28        IS_SMALLER                                       ~27     !5, !3
         29        SEND_VAL                                                 ~27
         30        DO_ICALL                                                 
   13    31        INIT_FCALL                                               'var_dump'
         32        IS_SMALLER                                       ~29     !3, !4
         33        SEND_VAL                                                 ~29
         34        DO_ICALL                                                 
   15    35        NEW                                              $31     'DateInterval'
         36        SEND_VAL_EX                                              'P15D'
         37        DO_FCALL                                      0          
         38        ASSIGN                                                   !6, $31
   16    39        NEW                                              $34     'DateInterval'
         40        SEND_VAL_EX                                              'P20D'
         41        DO_FCALL                                      0          
         42        ASSIGN                                                   !7, $34
   18    43        NEW                                              $37     'DateTime'
         44        DO_FCALL                                      0          
         45        ASSIGN                                                   !8, $37
   19    46        INIT_METHOD_CALL                                         !8, 'diff'
         47        NEW                                              $40     'DateTime'
         48        SEND_VAL_EX                                              '%2B10+days'
         49        DO_FCALL                                      0          
         50        SEND_VAR_NO_REF_EX                                       $40
         51        DO_FCALL                                      0  $42     
         52        ASSIGN                                                   !9, $42
   21    53        INIT_FCALL                                               'var_dump'
         54        IS_SMALLER                                       ~44     !6, !9
         55        SEND_VAL                                                 ~44
         56        DO_ICALL                                                 
   22    57        INIT_FCALL                                               'var_dump'
         58        IS_SMALLER                                       ~46     !9, !6
         59        SEND_VAL                                                 ~46
         60        DO_ICALL                                                 
   24    61        INIT_FCALL                                               'var_dump'
         62        IS_SMALLER                                       ~48     !9, !6
         63        SEND_VAL                                                 ~48
         64        DO_ICALL                                                 
   25    65        INIT_FCALL                                               'var_dump'
         66        IS_SMALLER                                       ~50     !6, !9
         67        SEND_VAL                                                 ~50
         68        DO_ICALL                                                 
   27    69        INIT_FCALL                                               'var_dump'
         70        SEND_VAR                                                 !9
         71        DO_ICALL                                                 
   29    72        INIT_FCALL                                               'var_dump'
         73        IS_SMALLER                                       ~53     !6, !9
         74        SEND_VAL                                                 ~53
         75        DO_ICALL                                                 
   30    76        INIT_FCALL                                               'var_dump'
         77        IS_SMALLER                                       ~55     !9, !6
         78        SEND_VAL                                                 ~55
         79        DO_ICALL                                                 
   32    80        INIT_FCALL                                               'var_dump'
         81        IS_SMALLER                                       ~57     !9, !6
         82        SEND_VAL                                                 ~57
         83        DO_ICALL                                                 
   33    84        INIT_FCALL                                               'var_dump'
         85        IS_SMALLER                                       ~59     !6, !9
         86        SEND_VAL                                                 ~59
         87        DO_ICALL                                                 
         88      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.11 ms | 1400 KiB | 15 Q