3v4l.org

run code in 500+ PHP versions simultaneously
<?php $datestring = '2017-06-03T00:08:10.881UTC'; if ($date = date_create_from_format(DateTime::RFC3339_EXTENDED, $datestring)) { print_r($date); } else { print_r(date_get_last_errors()); } if ($date = date_create($datestring)) { print_r($date); } else { print_r(date_get_last_errors()); } if ($date = DateTime::createFromFormat(DateTime::RFC3339_EXTENDED, $datestring)) { print_r($date); } else { print_r(DateTime::getLastErrors()); } if ($date = new DateTime($datestring)) { print_r($date); } else { print_r(DateTime::getLastErrors()); } if ($date = DateTimeImmutable::createFromFormat(DateTimeImmutable::RFC3339_EXTENDED, $datestring)) { print_r($date); } else { print_r(DateTimeImmutable::getLastErrors()); } if ($date = new DateTimeImmutable($datestring)) { print_r($date); } else { print_r(DateTimeImmutable::getLastErrors()); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 11
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 25
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 40
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 54
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 69
Branch analysis from position: 65
1 jumps found. (Code = 42) Position 1 = 74
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 83
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 83
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 69
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 83
Branch analysis from position: 79
Branch analysis from position: 83
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 69
Branch analysis from position: 65
Branch analysis from position: 69
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 54
Branch analysis from position: 50
Branch analysis from position: 54
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 40
Branch analysis from position: 36
Branch analysis from position: 40
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 25
Branch analysis from position: 21
Branch analysis from position: 25
filename:       /in/shJD7
function name:  (null)
number of ops:  89
compiled vars:  !0 = $datestring, !1 = $date
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '2017-06-03T00%3A08%3A10.881UTC'
    5     1        INIT_FCALL                                                   'date_create_from_format'
          2        SEND_VAL                                                     'Y-m-d%5CTH%3Ai%3As.vP'
          3        SEND_VAR                                                     !0
          4        DO_ICALL                                             $3      
          5        ASSIGN                                               ~4      !1, $3
          6      > JMPZ                                                         ~4, ->11
    6     7    >   INIT_FCALL                                                   'print_r'
          8        SEND_VAR                                                     !1
          9        DO_ICALL                                                     
    5    10      > JMP                                                          ->16
    8    11    >   INIT_FCALL                                                   'print_r'
         12        INIT_FCALL                                                   'date_get_last_errors'
         13        DO_ICALL                                             $6      
         14        SEND_VAR                                                     $6
         15        DO_ICALL                                                     
   11    16    >   INIT_FCALL                                                   'date_create'
         17        SEND_VAR                                                     !0
         18        DO_ICALL                                             $8      
         19        ASSIGN                                               ~9      !1, $8
         20      > JMPZ                                                         ~9, ->25
   12    21    >   INIT_FCALL                                                   'print_r'
         22        SEND_VAR                                                     !1
         23        DO_ICALL                                                     
   11    24      > JMP                                                          ->30
   14    25    >   INIT_FCALL                                                   'print_r'
         26        INIT_FCALL                                                   'date_get_last_errors'
         27        DO_ICALL                                             $11     
         28        SEND_VAR                                                     $11
         29        DO_ICALL                                                     
   17    30    >   INIT_STATIC_METHOD_CALL                                      'DateTime', 'createFromFormat'
         31        SEND_VAL                                                     'Y-m-d%5CTH%3Ai%3As.vP'
         32        SEND_VAR                                                     !0
         33        DO_FCALL                                          0  $13     
         34        ASSIGN                                               ~14     !1, $13
         35      > JMPZ                                                         ~14, ->40
   18    36    >   INIT_FCALL                                                   'print_r'
         37        SEND_VAR                                                     !1
         38        DO_ICALL                                                     
   17    39      > JMP                                                          ->45
   20    40    >   INIT_FCALL                                                   'print_r'
         41        INIT_STATIC_METHOD_CALL                                      'DateTime', 'getLastErrors'
         42        DO_FCALL                                          0  $16     
         43        SEND_VAR                                                     $16
         44        DO_ICALL                                                     
   23    45    >   NEW                                                  $18     'DateTime'
         46        SEND_VAR_EX                                                  !0
         47        DO_FCALL                                          0          
         48        ASSIGN                                               ~20     !1, $18
         49      > JMPZ                                                         ~20, ->54
   24    50    >   INIT_FCALL                                                   'print_r'
         51        SEND_VAR                                                     !1
         52        DO_ICALL                                                     
   23    53      > JMP                                                          ->59
   26    54    >   INIT_FCALL                                                   'print_r'
         55        INIT_STATIC_METHOD_CALL                                      'DateTime', 'getLastErrors'
         56        DO_FCALL                                          0  $22     
         57        SEND_VAR                                                     $22
         58        DO_ICALL                                                     
   29    59    >   INIT_STATIC_METHOD_CALL                                      'DateTimeImmutable', 'createFromFormat'
         60        SEND_VAL                                                     'Y-m-d%5CTH%3Ai%3As.vP'
         61        SEND_VAR                                                     !0
         62        DO_FCALL                                          0  $24     
         63        ASSIGN                                               ~25     !1, $24
         64      > JMPZ                                                         ~25, ->69
   30    65    >   INIT_FCALL                                                   'print_r'
         66        SEND_VAR                                                     !1
         67        DO_ICALL                                                     
   29    68      > JMP                                                          ->74
   32    69    >   INIT_FCALL                                                   'print_r'
         70        INIT_STATIC_METHOD_CALL                                      'DateTimeImmutable', 'getLastErrors'
         71        DO_FCALL                                          0  $27     
         72        SEND_VAR                                                     $27
         73        DO_ICALL                                                     
   35    74    >   NEW                                                  $29     'DateTimeImmutable'
         75        SEND_VAR_EX                                                  !0
         76        DO_FCALL                                          0          
         77        ASSIGN                                               ~31     !1, $29
         78      > JMPZ                                                         ~31, ->83
   36    79    >   INIT_FCALL                                                   'print_r'
         80        SEND_VAR                                                     !1
         81        DO_ICALL                                                     
   35    82      > JMP                                                          ->88
   38    83    >   INIT_FCALL                                                   'print_r'
         84        INIT_STATIC_METHOD_CALL                                      'DateTimeImmutable', 'getLastErrors'
         85        DO_FCALL                                          0  $33     
         86        SEND_VAR                                                     $33
         87        DO_ICALL                                                     
   39    88    > > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
192.63 ms | 3549 KiB | 17 Q