3v4l.org

run code in 300+ PHP versions simultaneously
<?php function parseMotivo($motivo_text) { $motivo_text = substr($motivo_text, 13); switch($motivo_text) { case 'Env carta extinção PERSI - dívida regularizada': case 'Env carta extinção PERSI - Dívida regularizada': case 'Env carta extinção acordo - proposta de regularização': case 'Foi enviada carta extinção PERSI - Dívida regularizada': return 'Pagamento dos montantes em mora'; case 'Env carta extinção PERSI - não entregou docs': case 'Foi enviada carta extinção PERSI - Não entregou docs': case 'Env carta extinção PERSI - não respondeu a proposta': case 'Env carta extinção PERSI - não respondeu proposta': case 'Env carta extinção PERSI - Não entregou docs': case 'Env carta extinção PERSI - não respondeu à proposta apresentada': case 'env carta extinção PERSI - Não entregou docs': case 'Env carta extinção PERSI - não entregou docs no prazo legal': case 'Env carta extinção PERSI - cliente não respondeu à proposta': case 'Env carta extinção PERSI - docs não foram entregues': case 'Env carta extinção PERSI - cliente não responde proposta apresentada': case 'Foi enviada carta extinção PERSI - não respondeu à proposta apresentada': case 'Env carta extinção PERSI - não respondeu a proposta ': case 'Foi enviada carta extinção PERSI -não respondeu à proposta apresentada': case 'Foi enviada carta extinção PERSI - não entregou docs': case 'Env carta extinção PERSI - cliente não responde a proposta de regularização': case 'Foi enviada carta extinção PERSI - não apresentou documentos': return 'Cliente bancário não colaborou com instituição de crédito'; case 'Env carta extinção PERSI - cliente não tem capacidade financeira': case 'Env carta extinção PERSI - Não tem capacidade financeira': case 'Foi enviada carta extinção PERSI - sem capacidade financeira': case 'Foi enviada carta extinção PERSI - s/ capacidade financeira': return 'Cliente bancário não possui capacidade financeira para regularizar a situação de incumprimento'; case 'Foi enviada carta de extinção PERSI (Crédito Habitação) com possibilidade de posterior análise': case 'Env carta extinção PERSI': case 'nv carta extinção PERSI': return 'Outro motivo'; case 'Env carta extinção PERSI decorridos 91 dias': return 'Decorridos mais de 90 dias desde a integração em processo de PERSI (sem acordo)'; case 'Env carta extinção PERSI - cliente não aceitou proposta': case 'Env carta extinção PERSI - cliente não aceitou proposta ': return 'Cliente bancário recusou a proposta de regularização da situação de incumprimento'; default: echo 'Not found motive: '.$motivo_text."\n"; } return "OI"; } $string = parseMotivo('Env carta extinção PERSI - dívida regularizada'); echo $string; $string = parseMotivo('Env carta extinção PERSI - cliente não aceitou proposta'); echo "\n".$string;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0V5b4
function name:  (null)
number of ops:  12
compiled vars:  !0 = $string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   INIT_FCALL                                               'parsemotivo'
          1        SEND_VAL                                                 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+d%C3%ADvida+regularizada'
          2        DO_FCALL                                      0  $1      
          3        ASSIGN                                                   !0, $1
   50     4        ECHO                                                     !0
   52     5        INIT_FCALL                                               'parsemotivo'
          6        SEND_VAL                                                 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+aceitou+proposta'
          7        DO_FCALL                                      0  $3      
          8        ASSIGN                                                   !0, $3
   54     9        CONCAT                                           ~5      '%0A', !0
         10        ECHO                                                     ~5
         11      > RETURN                                                   1

Function parsemotivo:
Finding entry points
Branch analysis from position: 0
32 jumps found. (Code = 188) Position 1 = 70, Position 2 = 70, Position 3 = 70, Position 4 = 70, Position 5 = 71, Position 6 = 71, Position 7 = 71, Position 8 = 71, Position 9 = 71, Position 10 = 71, Position 11 = 71, Position 12 = 71, Position 13 = 71, Position 14 = 71, Position 15 = 71, Position 16 = 71, Position 17 = 71, Position 18 = 71, Position 19 = 71, Position 20 = 71, Position 21 = 71, Position 22 = 72, Position 23 = 72, Position 24 = 72, Position 25 = 72, Position 26 = 73, Position 27 = 73, Position 28 = 73, Position 29 = 74, Position 30 = 75, Position 31 = 76, Position 32 = 7
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 71
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 72
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 73
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 74
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 75
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 76
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 70
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 70
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 70
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 70
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 71
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 71
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 71
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 71
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 71
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 71
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 71
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 71
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 71
Branch analysis from position: 33
2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 71
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 71
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 71
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 71
Branch analysis from position: 41
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 71
Branch analysis from position: 43
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 71
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 47, Position 2 = 71
Branch analysis from position: 47
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 71
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 72
Branch analysis from position: 51
2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 72
Branch analysis from position: 53
2 jumps found. (Code = 44) Position 1 = 55, Position 2 = 72
Branch analysis from position: 55
2 jumps found. (Code = 44) Position 1 = 57, Position 2 = 72
Branch analysis from position: 57
2 jumps found. (Code = 44) Position 1 = 59, Position 2 = 73
Branch analysis from position: 59
2 jumps found. (Code = 44) Position 1 = 61, Position 2 = 73
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 73
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 74
Branch analysis from position: 65
2 jumps found. (Code = 44) Position 1 = 67, Position 2 = 75
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 75
Branch analysis from position: 69
1 jumps found. (Code = 42) Position 1 = 76
Branch analysis from position: 76
Branch analysis from position: 75
Branch analysis from position: 75
Branch analysis from position: 74
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 70
filename:       /in/0V5b4
function name:  parseMotivo
number of ops:  81
compiled vars:  !0 = $motivo_text
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
    4     1        INIT_FCALL                                               'substr'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 13
          4        DO_ICALL                                         $1      
          5        ASSIGN                                                   !0, $1
    5     6      > SWITCH_STRING                                            !0, [ 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+d%C3%ADvida+regularizada':->70, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+D%C3%ADvida+regularizada':->70, 'Env+carta+extin%C3%A7%C3%A3o+acordo+-+proposta+de+regulariza%C3%A7%C3%A3o':->70, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+D%C3%ADvida+regularizada':->70, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs':->71, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+a+proposta':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+proposta':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+%C3%A0+proposta+apresentada':->71, 'env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs+no+prazo+legal':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+respondeu+%C3%A0+proposta':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+docs+n%C3%A3o+foram+entregues':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+responde+proposta+apresentada':->71, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+%C3%A0+proposta+apresentada':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+a+proposta+':->71, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-n%C3%A3o+respondeu+%C3%A0+proposta+apresentada':->71, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+responde+a+proposta+de+regulariza%C3%A7%C3%A3o':->71, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+apresentou+documentos':->71, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+tem+capacidade+financeira':->72, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+tem+capacidade+financeira':->72, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+sem+capacidade+financeira':->72, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+s%2F+capacidade+financeira':->72, 'Foi+enviada+carta+de+extin%C3%A7%C3%A3o+PERSI+%28Cr%C3%A9dito+Habita%C3%A7%C3%A3o%29+com+possibilidade+de+posterior+an%C3%A1lise':->73, 'Env+carta+extin%C3%A7%C3%A3o+PERSI':->73, 'nv+carta+extin%C3%A7%C3%A3o+PERSI':->73, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+decorridos+91+dias':->74, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+aceitou+proposta':->75, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+aceitou+proposta+':->75, ], ->76
    6     7    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+d%C3%ADvida+regularizada'
          8      > JMPNZ                                                    ~3, ->70
    7     9    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+D%C3%ADvida+regularizada'
         10      > JMPNZ                                                    ~3, ->70
    8    11    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+acordo+-+proposta+de+regulariza%C3%A7%C3%A3o'
         12      > JMPNZ                                                    ~3, ->70
    9    13    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+D%C3%ADvida+regularizada'
         14      > JMPNZ                                                    ~3, ->70
   11    15    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs'
         16      > JMPNZ                                                    ~3, ->71
   12    17    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs'
         18      > JMPNZ                                                    ~3, ->71
   13    19    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+a+proposta'
         20      > JMPNZ                                                    ~3, ->71
   14    21    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+proposta'
         22      > JMPNZ                                                    ~3, ->71
   15    23    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs'
         24      > JMPNZ                                                    ~3, ->71
   16    25    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+%C3%A0+proposta+apresentada'
         26      > JMPNZ                                                    ~3, ->71
   17    27    >   IS_EQUAL                                                 !0, 'env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+entregou+docs'
         28      > JMPNZ                                                    ~3, ->71
   18    29    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs+no+prazo+legal'
         30      > JMPNZ                                                    ~3, ->71
   19    31    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+respondeu+%C3%A0+proposta'
         32      > JMPNZ                                                    ~3, ->71
   20    33    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+docs+n%C3%A3o+foram+entregues'
         34      > JMPNZ                                                    ~3, ->71
   21    35    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+responde+proposta+apresentada'
         36      > JMPNZ                                                    ~3, ->71
   22    37    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+%C3%A0+proposta+apresentada'
         38      > JMPNZ                                                    ~3, ->71
   23    39    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+respondeu+a+proposta+'
         40      > JMPNZ                                                    ~3, ->71
   24    41    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-n%C3%A3o+respondeu+%C3%A0+proposta+apresentada'
         42      > JMPNZ                                                    ~3, ->71
   25    43    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+entregou+docs'
         44      > JMPNZ                                                    ~3, ->71
   26    45    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+responde+a+proposta+de+regulariza%C3%A7%C3%A3o'
         46      > JMPNZ                                                    ~3, ->71
   27    47    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+n%C3%A3o+apresentou+documentos'
         48      > JMPNZ                                                    ~3, ->71
   29    49    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+tem+capacidade+financeira'
         50      > JMPNZ                                                    ~3, ->72
   30    51    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+N%C3%A3o+tem+capacidade+financeira'
         52      > JMPNZ                                                    ~3, ->72
   31    53    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+sem+capacidade+financeira'
         54      > JMPNZ                                                    ~3, ->72
   32    55    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+extin%C3%A7%C3%A3o+PERSI+-+s%2F+capacidade+financeira'
         56      > JMPNZ                                                    ~3, ->72
   34    57    >   IS_EQUAL                                                 !0, 'Foi+enviada+carta+de+extin%C3%A7%C3%A3o+PERSI+%28Cr%C3%A9dito+Habita%C3%A7%C3%A3o%29+com+possibilidade+de+posterior+an%C3%A1lise'
         58      > JMPNZ                                                    ~3, ->73
   35    59    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI'
         60      > JMPNZ                                                    ~3, ->73
   36    61    >   IS_EQUAL                                                 !0, 'nv+carta+extin%C3%A7%C3%A3o+PERSI'
         62      > JMPNZ                                                    ~3, ->73
   38    63    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+decorridos+91+dias'
         64      > JMPNZ                                                    ~3, ->74
   40    65    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+aceitou+proposta'
         66      > JMPNZ                                                    ~3, ->75
   41    67    >   IS_EQUAL                                                 !0, 'Env+carta+extin%C3%A7%C3%A3o+PERSI+-+cliente+n%C3%A3o+aceitou+proposta+'
         68      > JMPNZ                                                    ~3, ->75
         69    > > JMP                                                      ->76
   10    70    > > RETURN                                                   'Pagamento+dos+montantes+em+mora'
   28    71    > > RETURN                                                   'Cliente+banc%C3%A1rio+n%C3%A3o+colaborou+com+institui%C3%A7%C3%A3o+de+cr%C3%A9dito'
   33    72    > > RETURN                                                   'Cliente+banc%C3%A1rio+n%C3%A3o+possui+capacidade+financeira+para+regularizar+a+situa%C3%A7%C3%A3o+de+incumprimento'
   37    73    > > RETURN                                                   'Outro+motivo'
   39    74    > > RETURN                                                   'Decorridos+mais+de+90+dias+desde+a+integra%C3%A7%C3%A3o+em+processo+de+PERSI+%28sem+acordo%29'
   42    75    > > RETURN                                                   'Cliente+banc%C3%A1rio+recusou+a+proposta+de+regulariza%C3%A7%C3%A3o+da+situa%C3%A7%C3%A3o+de+incumprimento'
   44    76    >   CONCAT                                           ~4      'Not+found+motive%3A+', !0
         77        CONCAT                                           ~5      ~4, '%0A'
         78        ECHO                                                     ~5
   47    79      > RETURN                                                   'OI'
   48    80*     > RETURN                                                   null

End of function parsemotivo

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.65 ms | 1406 KiB | 17 Q