3v4l.org

run code in 300+ PHP versions simultaneously
<?php $date = ' 27 abril 2016'; function transformDate($date){ $date = 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/ECoqp
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 = 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/ECoqp
function name:  transformDate
number of ops:  72
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                                               'explode'
          2        SEND_VAL                                                 '+'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $3      
          5        ASSIGN                                                   !0, $3
    6     6        ASSIGN                                                   !1, null
    8     7        COUNT                                            ~6      !0
          8      > JMPZ_EX                                          ~6      ~6, ->12
          9    >   COUNT                                            ~7      !0
         10        IS_EQUAL                                         ~8      ~7, 3
         11        BOOL                                             ~6      ~8
         12    > > JMPZ                                                     ~6, ->70
    9    13    >   FETCH_DIM_R                                      ~9      !0, 2
         14      > SWITCH_STRING                                            ~9, [ '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
   10    15    >   CASE                                                     ~9, 'ene'
         16      > JMPNZ                                                    ~10, ->40
   13    17    >   CASE                                                     ~9, 'feb'
         18      > JMPNZ                                                    ~10, ->42
   16    19    >   CASE                                                     ~9, 'mar'
         20      > JMPNZ                                                    ~10, ->44
   19    21    >   CASE                                                     ~9, 'abr'
         22      > JMPNZ                                                    ~10, ->46
   22    23    >   CASE                                                     ~9, 'may'
         24      > JMPNZ                                                    ~10, ->48
   25    25    >   CASE                                                     ~9, 'jun'
         26      > JMPNZ                                                    ~10, ->50
   28    27    >   CASE                                                     ~9, 'jul'
         28      > JMPNZ                                                    ~10, ->52
   31    29    >   CASE                                                     ~9, 'ago'
         30      > JMPNZ                                                    ~10, ->54
   34    31    >   CASE                                                     ~9, 'sep'
         32      > JMPNZ                                                    ~10, ->56
   37    33    >   CASE                                                     ~9, 'oct'
         34      > JMPNZ                                                    ~10, ->58
   40    35    >   CASE                                                     ~9, 'nov'
         36      > JMPNZ                                                    ~10, ->60
   43    37    >   CASE                                                     ~9, 'dic'
         38      > JMPNZ                                                    ~10, ->62
         39    > > JMP                                                      ->64
   11    40    >   ASSIGN                                                   !2, '2016-01'
   12    41      > JMP                                                      ->64
   14    42    >   ASSIGN                                                   !1, '2016-02'
   15    43      > JMP                                                      ->64
   17    44    >   ASSIGN                                                   !1, '2016-03'
   18    45      > JMP                                                      ->64
   20    46    >   ASSIGN                                                   !1, '2016-04'
   21    47      > JMP                                                      ->64
   23    48    >   ASSIGN                                                   !1, '2016-05'
   24    49      > JMP                                                      ->64
   26    50    >   ASSIGN                                                   !1, '2016-06'
   27    51      > JMP                                                      ->64
   29    52    >   ASSIGN                                                   !1, '2016-07'
   30    53      > JMP                                                      ->64
   32    54    >   ASSIGN                                                   !1, '2016-08'
   33    55      > JMP                                                      ->64
   35    56    >   ASSIGN                                                   !1, '2015-09'
   36    57      > JMP                                                      ->64
   38    58    >   ASSIGN                                                   !1, '2015-10'
   39    59      > JMP                                                      ->64
   41    60    >   ASSIGN                                                   !1, '2015-11'
   42    61      > JMP                                                      ->64
   44    62    >   ASSIGN                                                   !1, '2015-12'
   45    63      > JMP                                                      ->64
         64    >   FREE                                                     ~9
   49    65        CONCAT                                           ~23     !1, '-'
         66        FETCH_DIM_R                                      ~24     !0, 0
         67        CONCAT                                           ~25     ~23, ~24
         68      > RETURN                                                   ~25
         69*       JMP                                                      ->71
   51    70    > > RETURN                                                   null
   52    71*     > RETURN                                                   null

End of function transformdate

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
128.93 ms | 1411 KiB | 20 Q