3v4l.org

run code in 300+ PHP versions simultaneously
<?php function validaData($date, $format = 'Y-m-d H:i:s') { $v_date = date_create_from_format($format, $date); $v_date = date_format($v_date, $format); return ($v_date && $v_date == $date); } var_dump(validaData('2014-02-28 12:12:12')); # true var_dump(validaData('2014-02-30 12:12:12')); # false var_dump(validaData('2014-02-28', 'Y-m-d')); # true var_dump(validaData('28/02/2014', 'd/m/Y')); # true var_dump(validaData('30/02/2014', 'd/m/Y')); # false var_dump(validaData('14:50', 'H:i')); # true var_dump(validaData('14:77', 'H:i')); # false var_dump(validaData(14, 'H')); # true var_dump(validaData('14', 'H')); # true
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/lHqhb
function name:  (null)
number of ops:  62
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   INIT_FCALL                                               'var_dump'
          1        INIT_FCALL                                               'validadata'
          2        SEND_VAL                                                 '2014-02-28+12%3A12%3A12'
          3        DO_FCALL                                      0  $0      
          4        SEND_VAR                                                 $0
          5        DO_ICALL                                                 
   10     6        INIT_FCALL                                               'var_dump'
          7        INIT_FCALL                                               'validadata'
          8        SEND_VAL                                                 '2014-02-30+12%3A12%3A12'
          9        DO_FCALL                                      0  $2      
         10        SEND_VAR                                                 $2
         11        DO_ICALL                                                 
   11    12        INIT_FCALL                                               'var_dump'
         13        INIT_FCALL                                               'validadata'
         14        SEND_VAL                                                 '2014-02-28'
         15        SEND_VAL                                                 'Y-m-d'
         16        DO_FCALL                                      0  $4      
         17        SEND_VAR                                                 $4
         18        DO_ICALL                                                 
   12    19        INIT_FCALL                                               'var_dump'
         20        INIT_FCALL                                               'validadata'
         21        SEND_VAL                                                 '28%2F02%2F2014'
         22        SEND_VAL                                                 'd%2Fm%2FY'
         23        DO_FCALL                                      0  $6      
         24        SEND_VAR                                                 $6
         25        DO_ICALL                                                 
   13    26        INIT_FCALL                                               'var_dump'
         27        INIT_FCALL                                               'validadata'
         28        SEND_VAL                                                 '30%2F02%2F2014'
         29        SEND_VAL                                                 'd%2Fm%2FY'
         30        DO_FCALL                                      0  $8      
         31        SEND_VAR                                                 $8
         32        DO_ICALL                                                 
   14    33        INIT_FCALL                                               'var_dump'
         34        INIT_FCALL                                               'validadata'
         35        SEND_VAL                                                 '14%3A50'
         36        SEND_VAL                                                 'H%3Ai'
         37        DO_FCALL                                      0  $10     
         38        SEND_VAR                                                 $10
         39        DO_ICALL                                                 
   15    40        INIT_FCALL                                               'var_dump'
         41        INIT_FCALL                                               'validadata'
         42        SEND_VAL                                                 '14%3A77'
         43        SEND_VAL                                                 'H%3Ai'
         44        DO_FCALL                                      0  $12     
         45        SEND_VAR                                                 $12
         46        DO_ICALL                                                 
   16    47        INIT_FCALL                                               'var_dump'
         48        INIT_FCALL                                               'validadata'
         49        SEND_VAL                                                 14
         50        SEND_VAL                                                 'H'
         51        DO_FCALL                                      0  $14     
         52        SEND_VAR                                                 $14
         53        DO_ICALL                                                 
   17    54        INIT_FCALL                                               'var_dump'
         55        INIT_FCALL                                               'validadata'
         56        SEND_VAL                                                 '14'
         57        SEND_VAL                                                 'H'
         58        DO_FCALL                                      0  $16     
         59        SEND_VAR                                                 $16
         60        DO_ICALL                                                 
         61      > RETURN                                                   1

Function validadata:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 13, Position 2 = 15
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
filename:       /in/lHqhb
function name:  validaData
number of ops:  17
compiled vars:  !0 = $date, !1 = $format, !2 = $v_date
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                                               'date_create_from_format'
          3        SEND_VAR                                                 !1
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $3      
          6        ASSIGN                                                   !2, $3
    5     7        INIT_FCALL                                               'date_format'
          8        SEND_VAR                                                 !2
          9        SEND_VAR                                                 !1
         10        DO_ICALL                                         $5      
         11        ASSIGN                                                   !2, $5
    6    12      > JMPZ_EX                                          ~7      !2, ->15
         13    >   IS_EQUAL                                         ~8      !2, !0
         14        BOOL                                             ~7      ~8
         15    > > RETURN                                                   ~7
    7    16*     > RETURN                                                   null

End of function validadata

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
152.67 ms | 1403 KiB | 28 Q