3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date = '27 abril 2016'; function transformDate($date){ $date = trim(explode(' ', $date)); $data = NULL; if( count($date) && count($date) == 3 ){ switch( $date[2] ){ case 'ene': $month = '2016-01'; break; case 'feb': $data = '2016-02'; break; case 'mar': $data = '2016-03'; break; case 'abr': $data = '2016-04'; break; case 'may': $data = '2016-05'; break; case 'jun': $data = '2016-06'; break; case 'jul': $data = '2016-07'; break; case 'ago': $data = '2016-08'; break; case 'sep': $data = '2015-09'; break; case 'oct': $data = '2015-10'; break; case 'nov': $data = '2015-11'; break; case 'dic': $data = '2015-12'; break; } // arrange the date and return return $data.'-'.$date[0]; }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/QMBZR
function name:  (null)
number of ops:  19
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, '27+abril+2016'
   54     1        INIT_FCALL                                               'transformdate'
          2        SEND_VAR                                                 !0
          3        DO_FCALL                                      0  $5      
          4        ASSIGN                                                   !1, $5
          5        ECHO                                                     !1
          6      > EXIT                                                     
   56     7*       INIT_FCALL                                               'strtotime'
          8*       SEND_VAR                                                 !1
          9*       DO_ICALL                                         $7      
         10*       ASSIGN                                                   !2, $7
   57    11*       INIT_FCALL                                               'date'
         12*       SEND_VAL                                                 'Y-m-d+12%3A00%3A00'
         13*       SEND_VAR                                                 !2
         14*       DO_ICALL                                         $9      
         15*       ASSIGN                                                   !3, $9
   59    16*       ECHO                                                     !3
         17*       EXIT                                                     
         18*     > RETURN                                                   1

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

End of function transformdate

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
177.75 ms | 1411 KiB | 22 Q