3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date = 'abril 27 2016'; echo date( 'Y-m-d 12:00:00', $date ); exit; function transformDate($date){ $date = explode(' ', $date); $month = NULL; if( count($date) && count($date) == 3 ){ switch( $date[2] ){ case 'ene': $month = 'enero 2016'; break; case 'feb': $month = 'febrero 2016'; break; case 'mar': $month = 'marzo 2016'; break; case 'abr': $month = 'abril 2016'; break; case 'may': $month = 'mayo 2016'; break; case 'jun': $month = 'junio 2016'; break; case 'jul': $month = 'julio 2016'; break; case 'ago': $month = 'agosto 2016'; break; case 'sep': $month = 'septiembre 2015'; break; case 'oct': $month = 'octubre 2015'; break; case 'nov': $month = 'noviembre 2015'; break; case 'dic': $month = 'diciembre 2015'; break; } // arrange the date and return return $date[0].' '.$month; }else return NULL; } $event_date = transformDate( $date ); echo $event_date; exit; $event_date2 = strtotime( $event_date ); $event_date3 = date( 'Y-m-d 12:00:00', $event_date2 ); echo $event_date3; exit;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/SbKe8
function name:  (null)
number of ops:  25
compiled vars:  !0 = $date, !1 = $event_date, !2 = $event_date2, !3 = $event_date3
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'abril+27+2016'
    3     1        INIT_FCALL                                               'date'
          2        SEND_VAL                                                 'Y-m-d+12%3A00%3A00'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $5      
          5        ECHO                                                     $5
          6      > EXIT                                                     
   56     7*       INIT_FCALL                                               'transformdate'
          8*       SEND_VAR                                                 !0
          9*       DO_FCALL                                      0  $6      
         10*       ASSIGN                                                   !1, $6
         11*       ECHO                                                     !1
         12*       EXIT                                                     
   58    13*       INIT_FCALL                                               'strtotime'
         14*       SEND_VAR                                                 !1
         15*       DO_ICALL                                         $8      
         16*       ASSIGN                                                   !2, $8
   59    17*       INIT_FCALL                                               'date'
         18*       SEND_VAL                                                 'Y-m-d+12%3A00%3A00'
         19*       SEND_VAR                                                 !2
         20*       DO_ICALL                                         $10     
         21*       ASSIGN                                                   !3, $10
   61    22*       ECHO                                                     !3
         23*       EXIT                                                     
         24*     > RETURN                                                   1

Function transformdate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 9, Position 2 = 12
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 70
Branch analysis from position: 13
14 jumps found. (Code = 188) Position 1 = 40, Position 2 = 42, Position 3 = 44, Position 4 = 46, Position 5 = 48, Position 6 = 50, Position 7 = 52, Position 8 = 54, Position 9 = 56, Position 10 = 58, Position 11 = 60, Position 12 = 62, Position 13 = 64, Position 14 = 15
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 46
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 62
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 64
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 40
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 42
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 44
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 46
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 48
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 50
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 52
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 54
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 56
Branch analysis from position: 33
2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 58
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 60
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 62
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 62
Branch analysis from position: 60
Branch analysis from position: 58
Branch analysis from position: 56
Branch analysis from position: 54
Branch analysis from position: 52
Branch analysis from position: 50
Branch analysis from position: 48
Branch analysis from position: 46
Branch analysis from position: 44
Branch analysis from position: 42
Branch analysis from position: 40
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename:       /in/SbKe8
function name:  transformDate
number of ops:  72
compiled vars:  !0 = $date, !1 = $month
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
    7     1        INIT_FCALL                                               'explode'
          2        SEND_VAL                                                 '+'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $2      
          5        ASSIGN                                                   !0, $2
    8     6        ASSIGN                                                   !1, null
   10     7        COUNT                                            ~5      !0
          8      > JMPZ_EX                                          ~5      ~5, ->12
          9    >   COUNT                                            ~6      !0
         10        IS_EQUAL                                         ~7      ~6, 3
         11        BOOL                                             ~5      ~7
         12    > > JMPZ                                                     ~5, ->70
   11    13    >   FETCH_DIM_R                                      ~8      !0, 2
         14      > SWITCH_STRING                                            ~8, [ 'ene':->40, 'feb':->42, 'mar':->44, 'abr':->46, 'may':->48, 'jun':->50, 'jul':->52, 'ago':->54, 'sep':->56, 'oct':->58, 'nov':->60, 'dic':->62, ], ->64
   12    15    >   CASE                                                     ~8, 'ene'
         16      > JMPNZ                                                    ~9, ->40
   15    17    >   CASE                                                     ~8, 'feb'
         18      > JMPNZ                                                    ~9, ->42
   18    19    >   CASE                                                     ~8, 'mar'
         20      > JMPNZ                                                    ~9, ->44
   21    21    >   CASE                                                     ~8, 'abr'
         22      > JMPNZ                                                    ~9, ->46
   24    23    >   CASE                                                     ~8, 'may'
         24      > JMPNZ                                                    ~9, ->48
   27    25    >   CASE                                                     ~8, 'jun'
         26      > JMPNZ                                                    ~9, ->50
   30    27    >   CASE                                                     ~8, 'jul'
         28      > JMPNZ                                                    ~9, ->52
   33    29    >   CASE                                                     ~8, 'ago'
         30      > JMPNZ                                                    ~9, ->54
   36    31    >   CASE                                                     ~8, 'sep'
         32      > JMPNZ                                                    ~9, ->56
   39    33    >   CASE                                                     ~8, 'oct'
         34      > JMPNZ                                                    ~9, ->58
   42    35    >   CASE                                                     ~8, 'nov'
         36      > JMPNZ                                                    ~9, ->60
   45    37    >   CASE                                                     ~8, 'dic'
         38      > JMPNZ                                                    ~9, ->62
         39    > > JMP                                                      ->64
   13    40    >   ASSIGN                                                   !1, 'enero+2016'
   14    41      > JMP                                                      ->64
   16    42    >   ASSIGN                                                   !1, 'febrero+2016'
   17    43      > JMP                                                      ->64
   19    44    >   ASSIGN                                                   !1, 'marzo+2016'
   20    45      > JMP                                                      ->64
   22    46    >   ASSIGN                                                   !1, 'abril+2016'
   23    47      > JMP                                                      ->64
   25    48    >   ASSIGN                                                   !1, 'mayo+2016'
   26    49      > JMP                                                      ->64
   28    50    >   ASSIGN                                                   !1, 'junio+2016'
   29    51      > JMP                                                      ->64
   31    52    >   ASSIGN                                                   !1, 'julio+2016'
   32    53      > JMP                                                      ->64
   34    54    >   ASSIGN                                                   !1, 'agosto+2016'
   35    55      > JMP                                                      ->64
   37    56    >   ASSIGN                                                   !1, 'septiembre+2015'
   38    57      > JMP                                                      ->64
   40    58    >   ASSIGN                                                   !1, 'octubre+2015'
   41    59      > JMP                                                      ->64
   43    60    >   ASSIGN                                                   !1, 'noviembre+2015'
   44    61      > JMP                                                      ->64
   46    62    >   ASSIGN                                                   !1, 'diciembre+2015'
   47    63      > JMP                                                      ->64
         64    >   FREE                                                     ~8
   51    65        FETCH_DIM_R                                      ~22     !0, 0
         66        CONCAT                                           ~23     ~22, '+'
         67        CONCAT                                           ~24     ~23, !1
         68      > RETURN                                                   ~24
         69*       JMP                                                      ->71
   53    70    > > RETURN                                                   null
   54    71*     > RETURN                                                   null

End of function transformdate

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
170.31 ms | 1411 KiB | 20 Q