3v4l.org

run code in 300+ PHP versions simultaneously
<?php // can't read from file in 3val //$array_log = file('log.txt'); // substitude for reading from file $array_log = <<<"LOG" [Log Info] BkpSet00.bks\Html-Log00.zip=Backup completato con successo÷00 : 00 : 59÷231466496 BkpSet00.bks\Html-Log01.zip=Errore nella procedura di backup÷00 : 00 : 02÷0 BkpSet00.bks\Html-Log02.zip=Backup completato con successo÷00 : 00 : 43÷216655360 BkpSet01.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0 BkpSet01.bks\Html-Log01.zip=Errore nella procedura di backup÷00 : 00 : 46÷0 BkpSet02.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0 BkpSet02.bks\Html-Log01.zip=Backup completato con successo÷00 : 00 : 14÷216655360 BkpSet03.bks\Html-Log00.zip=Nessun backup effettuato÷00 : 00 : 02÷0 BkpSet03.bks\Html-Log01.zip=Backup completato con successo÷00 : 00 : 17÷231663104 BkpSet04.bks\Html-Log00.zip=Backup completato con successo÷00 : 00 : 16÷231663104 BkpSet00.bks\Html-Log03.zip=Backup completato con successo÷00 : 00 : 13÷216655360 BkpSet00.bks\Html-Log04.zip=Backup completato con successo÷00 : 00 : 09÷216655360 BkpSet16.bks\Html-Log00.zip=Backup completato con successo÷00 : 01 : 33÷1462158767 BkpSet05.bks\Html-Log00.zip=Errore nella procedura di backup÷11 : 18 : 30÷235564152142 LOG; $array_log = preg_split('/\r?\n/',$array_log, -1, PREG_SPLIT_NO_EMPTY); // end of substitution $ante_ultimo_elemento = count($array_log)-2; $valor_ante_ultimo = $array_log[$ante_ultimo_elemento]; preg_match('/(?P<file>.*?)=(?P<message>[\w\s]*?)÷(?P<time>\d{2}\s?:\s?\d{2}\s?:\s?\d{2}\s?)÷(?<last_part>\d*)/', $array_log[$ante_ultimo_elemento], $estado); switch($estado['message']) { case "Backup completato con successo": { $estado_final = "COMPLETO"; break; } case "Nessun backup effettuato": { $estado_final = 'CERO'; break; } case "Errore nella procedura di backup": { $estado_final = 'ERROR'; break; } default: { $estado_final = 'FATAL ERROR'; break; } } echo $estado_final;
Finding entry points
Branch analysis from position: 0
5 jumps found. (Code = 188) Position 1 = 28, Position 2 = 30, Position 3 = 32, Position 4 = 34, Position 5 = 21
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 28
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 30
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 32
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 28
filename:       /in/rH8In
function name:  (null)
number of ops:  39
compiled vars:  !0 = $array_log, !1 = $ante_ultimo_elemento, !2 = $valor_ante_ultimo, !3 = $estado, !4 = $estado_final
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                   !0, '%5BLog+Info%5D%0ABkpSet00.bks%5CHtml-Log00.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+59%C3%B7231466496%0ABkpSet00.bks%5CHtml-Log01.zip%3DErrore+nella+procedura+di+backup%C3%B700+%3A+00+%3A+02%C3%B70%0ABkpSet00.bks%5CHtml-Log02.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+43%C3%B7216655360%0ABkpSet01.bks%5CHtml-Log00.zip%3DNessun+backup+effettuato%C3%B700+%3A+00+%3A+02%C3%B70%0ABkpSet01.bks%5CHtml-Log01.zip%3DErrore+nella+procedura+di+backup%C3%B700+%3A+00+%3A+46%C3%B70%0ABkpSet02.bks%5CHtml-Log00.zip%3DNessun+backup+effettuato%C3%B700+%3A+00+%3A+02%C3%B70%0ABkpSet02.bks%5CHtml-Log01.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+14%C3%B7216655360%0ABkpSet03.bks%5CHtml-Log00.zip%3DNessun+backup+effettuato%C3%B700+%3A+00+%3A+02%C3%B70%0ABkpSet03.bks%5CHtml-Log01.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+17%C3%B7231663104%0ABkpSet04.bks%5CHtml-Log00.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+16%C3%B7231663104%0ABkpSet00.bks%5CHtml-Log03.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+13%C3%B7216655360%0ABkpSet00.bks%5CHtml-Log04.zip%3DBackup+completato+con+successo%C3%B700+%3A+00+%3A+09%C3%B7216655360%0ABkpSet16.bks%5CHtml-Log00.zip%3DBackup+completato+con+successo%C3%B700+%3A+01+%3A+33%C3%B71462158767%0ABkpSet05.bks%5CHtml-Log00.zip%3DErrore+nella+procedura+di+backup%C3%B711+%3A+18+%3A+30%C3%B7235564152142'
   23     1        INIT_FCALL                                               'preg_split'
          2        SEND_VAL                                                 '%2F%5Cr%3F%5Cn%2F'
          3        SEND_VAR                                                 !0
          4        SEND_VAL                                                 -1
          5        SEND_VAL                                                 1
          6        DO_ICALL                                         $6      
          7        ASSIGN                                                   !0, $6
   26     8        COUNT                                            ~8      !0
          9        SUB                                              ~9      ~8, 2
         10        ASSIGN                                                   !1, ~9
   27    11        FETCH_DIM_R                                      ~11     !0, !1
         12        ASSIGN                                                   !2, ~11
   28    13        INIT_FCALL                                               'preg_match'
         14        SEND_VAL                                                 '%2F%28%3FP%3Cfile%3E.%2A%3F%29%3D%28%3FP%3Cmessage%3E%5B%5Cw%5Cs%5D%2A%3F%29%C3%B7%28%3FP%3Ctime%3E%5Cd%7B2%7D%5Cs%3F%3A%5Cs%3F%5Cd%7B2%7D%5Cs%3F%3A%5Cs%3F%5Cd%7B2%7D%5Cs%3F%29%C3%B7%28%3F%3Clast_part%3E%5Cd%2A%29%2F'
         15        FETCH_DIM_R                                      ~13     !0, !1
         16        SEND_VAL                                                 ~13
         17        SEND_REF                                                 !3
         18        DO_ICALL                                                 
   29    19        FETCH_DIM_R                                      ~15     !3, 'message'
         20      > SWITCH_STRING                                            ~15, [ 'Backup+completato+con+successo':->28, 'Nessun+backup+effettuato':->30, 'Errore+nella+procedura+di+backup':->32, ], ->34
   31    21    >   CASE                                                     ~15, 'Backup+completato+con+successo'
         22      > JMPNZ                                                    ~16, ->28
   35    23    >   CASE                                                     ~15, 'Nessun+backup+effettuato'
         24      > JMPNZ                                                    ~16, ->30
   39    25    >   CASE                                                     ~15, 'Errore+nella+procedura+di+backup'
         26      > JMPNZ                                                    ~16, ->32
         27    > > JMP                                                      ->34
   32    28    >   ASSIGN                                                   !4, 'COMPLETO'
   33    29      > JMP                                                      ->36
   36    30    >   ASSIGN                                                   !4, 'CERO'
   37    31      > JMP                                                      ->36
   40    32    >   ASSIGN                                                   !4, 'ERROR'
   41    33      > JMP                                                      ->36
   44    34    >   ASSIGN                                                   !4, 'FATAL+ERROR'
   45    35      > JMP                                                      ->36
         36    >   FREE                                                     ~15
   48    37        ECHO                                                     !4
         38      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
173.46 ms | 1400 KiB | 17 Q