3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dateofbirth = '30/11/80'; $date = DateTime::createFromFormat('d/m/Y', $dateofbirth); if ($date === false) { echo 'date error !'; } $date_errors = DateTime::getLastErrors(); var_dump($date_errors); if ($date_errors['warning_count'] + $date_errors['error_count'] > 0) { $dobError = 'Date '.$dateofbirth.' is not a valid DD/MM/YYYY format.'; echo $dobError; $hasError = true; } else { $mysql_dob = $date->format('Y-m-d'); } error_log($dateofbirth.' -> '.$mysql_dob);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 9
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 26
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
filename:       /in/JunfD
function name:  (null)
number of ops:  36
compiled vars:  !0 = $dateofbirth, !1 = $date, !2 = $date_errors, !3 = $dobError, !4 = $hasError, !5 = $mysql_dob
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '30%2F11%2F80'
    3     1        INIT_STATIC_METHOD_CALL                                  'DateTime', 'createFromFormat'
          2        SEND_VAL                                                 'd%2Fm%2FY'
          3        SEND_VAR                                                 !0
          4        DO_FCALL                                      0  $7      
          5        ASSIGN                                                   !1, $7
    5     6        TYPE_CHECK                                    4          !1
          7      > JMPZ                                                     ~9, ->9
    6     8    >   ECHO                                                     'date+error+%21'
    9     9    >   INIT_STATIC_METHOD_CALL                                  'DateTime', 'getLastErrors'
         10        DO_FCALL                                      0  $10     
         11        ASSIGN                                                   !2, $10
   10    12        INIT_FCALL                                               'var_dump'
         13        SEND_VAR                                                 !2
         14        DO_ICALL                                                 
   11    15        FETCH_DIM_R                                      ~13     !2, 'warning_count'
         16        FETCH_DIM_R                                      ~14     !2, 'error_count'
         17        ADD                                              ~15     ~13, ~14
         18        IS_SMALLER                                               0, ~15
         19      > JMPZ                                                     ~16, ->26
   12    20    >   CONCAT                                           ~17     'Date+', !0
         21        CONCAT                                           ~18     ~17, '+is+not+a+valid+DD%2FMM%2FYYYY+format.'
         22        ASSIGN                                                   !3, ~18
   13    23        ECHO                                                     !3
   14    24        ASSIGN                                                   !4, <true>
         25      > JMP                                                      ->30
   16    26    >   INIT_METHOD_CALL                                         !1, 'format'
         27        SEND_VAL_EX                                              'Y-m-d'
         28        DO_FCALL                                      0  $21     
         29        ASSIGN                                                   !5, $21
   18    30    >   INIT_FCALL                                               'error_log'
         31        CONCAT                                           ~23     !0, '+-%3E+'
         32        CONCAT                                           ~24     ~23, !5
         33        SEND_VAL                                                 ~24
         34        DO_ICALL                                                 
         35      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.54 ms | 1396 KiB | 17 Q