3v4l.org

run code in 300+ PHP versions simultaneously
<<?php function validarData($date, $format = 'Y-m-d H:i:s') { $version = explode('.', phpversion()); if ((int) $version[0] >= 5 && (int) $version[1] >= 2 && (int) $version[2] > 17) { $d = DateTime::createFromFormat($format, $date); } else { $d = new DateTime(date($format, strtotime($date))); } return $d && $d->format($format) == $date; } var_dump(validarData('2014-02-31', 'Y-m-d'));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/5NYbE
function name:  (null)
number of ops:  9
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     '%3C'
   13     1        INIT_FCALL                                               'var_dump'
          2        INIT_FCALL                                               'validardata'
          3        SEND_VAL                                                 '2014-02-31'
          4        SEND_VAL                                                 'Y-m-d'
          5        DO_FCALL                                      0  $0      
          6        SEND_VAR                                                 $0
          7        DO_ICALL                                                 
          8      > RETURN                                                   1

Function validardata:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 13, Position 2 = 17
Branch analysis from position: 13
2 jumps found. (Code = 46) Position 1 = 18, Position 2 = 22
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 29
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
2 jumps found. (Code = 46) Position 1 = 41, Position 2 = 46
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 46
Branch analysis from position: 29
2 jumps found. (Code = 46) Position 1 = 41, Position 2 = 46
Branch analysis from position: 41
Branch analysis from position: 46
Branch analysis from position: 22
Branch analysis from position: 17
filename:       /in/5NYbE
function name:  validarData
number of ops:  48
compiled vars:  !0 = $date, !1 = $format, !2 = $version, !3 = $d
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      'Y-m-d+H%3Ai%3As'
    4     2        INIT_FCALL                                               'explode'
          3        SEND_VAL                                                 '.'
          4        INIT_FCALL                                               'phpversion'
          5        DO_ICALL                                         $4      
          6        SEND_VAR                                                 $4
          7        DO_ICALL                                         $5      
          8        ASSIGN                                                   !2, $5
    5     9        FETCH_DIM_R                                      ~7      !2, 0
         10        CAST                                          4  ~8      ~7
         11        IS_SMALLER_OR_EQUAL                              ~9      5, ~8
         12      > JMPZ_EX                                          ~9      ~9, ->17
         13    >   FETCH_DIM_R                                      ~10     !2, 1
         14        CAST                                          4  ~11     ~10
         15        IS_SMALLER_OR_EQUAL                              ~12     2, ~11
         16        BOOL                                             ~9      ~12
         17    > > JMPZ_EX                                          ~9      ~9, ->22
         18    >   FETCH_DIM_R                                      ~13     !2, 2
         19        CAST                                          4  ~14     ~13
         20        IS_SMALLER                                       ~15     17, ~14
         21        BOOL                                             ~9      ~15
         22    > > JMPZ                                                     ~9, ->29
    6    23    >   INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
         24        SEND_VAR                                                 !1
         25        SEND_VAR                                                 !0
         26        DO_FCALL                                      0  $16     
         27        ASSIGN                                                   !3, $16
         28      > JMP                                                      ->40
    8    29    >   NEW                                              $18     'DateTime'
         30        INIT_FCALL                                               'date'
         31        SEND_VAR                                                 !1
         32        INIT_FCALL                                               'strtotime'
         33        SEND_VAR                                                 !0
         34        DO_ICALL                                         $19     
         35        SEND_VAR                                                 $19
         36        DO_ICALL                                         $20     
         37        SEND_VAR_NO_REF_EX                                       $20
         38        DO_FCALL                                      0          
         39        ASSIGN                                                   !3, $18
   10    40    > > JMPZ_EX                                          ~23     !3, ->46
         41    >   INIT_METHOD_CALL                                         !3, 'format'
         42        SEND_VAR_EX                                              !1
         43        DO_FCALL                                      0  $24     
         44        IS_EQUAL                                         ~25     !0, $24
         45        BOOL                                             ~23     ~25
         46    > > RETURN                                                   ~23
   11    47*     > RETURN                                                   null

End of function validardata

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.8 ms | 1403 KiB | 24 Q