3v4l.org

run code in 500+ PHP versions simultaneously
<?php $today = new \DateTimeImmutable(); $time = $today->setTime(23,58,59); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,00); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,01); var_dump(satisfiesTime($time, '23:59')); $time = $today->setTime(23,59,59); var_dump(satisfiesTime($time, '23:59')); function satisfiesTime(\DateTimeImmutable $dateTime, $to): bool { $dateTime = $dateTime->setTimezone(new \DateTimeZone('Europe/London')); return $dateTime->format('H:i') >= '00:00' && $dateTime->format('H:i') < $to; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/YdHBe
function name:  (null)
number of ops:  56
compiled vars:  !0 = $today, !1 = $time
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   NEW                                                  $2      'DateTimeImmutable'
          1        DO_FCALL                                          0          
          2        ASSIGN                                                       !0, $2
    5     3        INIT_METHOD_CALL                                             !0, 'setTime'
          4        SEND_VAL_EX                                                  23
          5        SEND_VAL_EX                                                  58
          6        SEND_VAL_EX                                                  59
          7        DO_FCALL                                          0  $5      
          8        ASSIGN                                                       !1, $5
    7     9        INIT_FCALL                                                   'var_dump'
         10        INIT_FCALL_BY_NAME                                           'satisfiesTime'
         11        SEND_VAR_EX                                                  !1
         12        SEND_VAL_EX                                                  '23%3A59'
         13        DO_FCALL                                          0  $7      
         14        SEND_VAR                                                     $7
         15        DO_ICALL                                                     
    9    16        INIT_METHOD_CALL                                             !0, 'setTime'
         17        SEND_VAL_EX                                                  23
         18        SEND_VAL_EX                                                  59
         19        SEND_VAL_EX                                                  0
         20        DO_FCALL                                          0  $9      
         21        ASSIGN                                                       !1, $9
   11    22        INIT_FCALL                                                   'var_dump'
         23        INIT_FCALL_BY_NAME                                           'satisfiesTime'
         24        SEND_VAR_EX                                                  !1
         25        SEND_VAL_EX                                                  '23%3A59'
         26        DO_FCALL                                          0  $11     
         27        SEND_VAR                                                     $11
         28        DO_ICALL                                                     
   13    29        INIT_METHOD_CALL                                             !0, 'setTime'
         30        SEND_VAL_EX                                                  23
         31        SEND_VAL_EX                                                  59
         32        SEND_VAL_EX                                                  1
         33        DO_FCALL                                          0  $13     
         34        ASSIGN                                                       !1, $13
   15    35        INIT_FCALL                                                   'var_dump'
         36        INIT_FCALL_BY_NAME                                           'satisfiesTime'
         37        SEND_VAR_EX                                                  !1
         38        SEND_VAL_EX                                                  '23%3A59'
         39        DO_FCALL                                          0  $15     
         40        SEND_VAR                                                     $15
         41        DO_ICALL                                                     
   17    42        INIT_METHOD_CALL                                             !0, 'setTime'
         43        SEND_VAL_EX                                                  23
         44        SEND_VAL_EX                                                  59
         45        SEND_VAL_EX                                                  59
         46        DO_FCALL                                          0  $17     
         47        ASSIGN                                                       !1, $17
   19    48        INIT_FCALL                                                   'var_dump'
         49        INIT_FCALL_BY_NAME                                           'satisfiesTime'
         50        SEND_VAR_EX                                                  !1
         51        SEND_VAL_EX                                                  '23%3A59'
         52        DO_FCALL                                          0  $19     
         53        SEND_VAR                                                     $19
         54        DO_ICALL                                                     
   26    55      > RETURN                                                       1

Function satisfiestime:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
filename:       /in/YdHBe
function name:  satisfiesTime
number of ops:  23
compiled vars:  !0 = $dateTime, !1 = $to
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   21     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
   23     2        INIT_METHOD_CALL                                             !0, 'setTimezone'
          3        NEW                                                  $2      'DateTimeZone'
          4        SEND_VAL_EX                                                  'Europe%2FLondon'
          5        DO_FCALL                                          0          
          6        SEND_VAR_NO_REF_EX                                           $2
          7        DO_FCALL                                          0  $4      
          8        ASSIGN                                                       !0, $4
   25     9        INIT_METHOD_CALL                                             !0, 'format'
         10        SEND_VAL_EX                                                  'H%3Ai'
         11        DO_FCALL                                          0  $6      
         12        IS_SMALLER_OR_EQUAL                                  ~7      '00%3A00', $6
         13      > JMPZ_EX                                              ~7      ~7, ->19
         14    >   INIT_METHOD_CALL                                             !0, 'format'
         15        SEND_VAL_EX                                                  'H%3Ai'
         16        DO_FCALL                                          0  $8      
         17        IS_SMALLER                                           ~9      $8, !1
         18        BOOL                                                 ~7      ~9
         19    >   VERIFY_RETURN_TYPE                                           ~7
         20      > RETURN                                                       ~7
   26    21*       VERIFY_RETURN_TYPE                                           
         22*     > RETURN                                                       null

End of function satisfiestime

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
155.55 ms | 796 KiB | 9 Q