3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pracownicy = [ [ "id_pracownika"=>1, "imie"=>"Jan", "nazwisko"=>"kowalski" ], [ "id_pracownika"=>2, "imie"=>"Jan", "nazwisko"=>"Wisniewski" ] ]; $grafiki = [ [ 'id_pracownika'=>1, "wartosc"=>"II", "dzien"=>'2' ], [ 'id_pracownika'=>1, "wartosc"=>"I", "dzien"=>'4' ], [ 'id_pracownika'=>2, "wartosc"=>"III", "dzien"=>'1' ], [ 'id_pracownika'=>2, "wartosc"=>"VI", "dzien"=>'3' ] ]; $rok = 2016; $miesiac = 12; $liczba_dni_w_miesiacu = 5; $licznik = 0; $godziny = '8/16 '; echo "<table class=\'table table-bordered\'><thead>\n<tr><td>LP</td><td>ImiÄ™ i nazwisko</td>"; for($i= 1; $i <= $liczba_dni_w_miesiacu; $i++){ echo '<td>'.$i.'</td>'; } echo '</tr></thead>' .'<tbody>'; foreach ($pracownicy as $pracownik){ $licznik++; $oneEmploeeResults = null; foreach($grafiki as $grafik){ if($pracownik['id_pracownika'] == $grafik['id_pracownika']){ $oneEmploeeResults[] = ['value' => $grafik['wartosc'], 'day' => $grafik['dzien']]; } } echo "\n<tr><td>" . $licznik . '</td>' .'<td>'. $pracownik['imie'] . ' ' . $pracownik['nazwisko'] . '</td>'; for($i= 1; $i <= $liczba_dni_w_miesiacu; $i++){ echo '<td>'; $oneDayOneEmploeeResults = null; if($oneEmploeeResults) { foreach ($oneEmploeeResults as $oneEmploeeResult) { if ((int)$oneEmploeeResult['day'] === $i) { echo $oneEmploeeResult['value']; $oneDayOneEmploeeResults = true; } } } if(!$oneDayOneEmploeeResults) {echo $godziny;} echo '</td>'; } echo '</tr>'; } ?> </tbody></table>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 10
Branch analysis from position: 16
2 jumps found. (Code = 77) Position 1 = 18, Position 2 = 70
Branch analysis from position: 18
2 jumps found. (Code = 78) Position 1 = 19, Position 2 = 70
Branch analysis from position: 19
2 jumps found. (Code = 77) Position 1 = 22, Position 2 = 34
Branch analysis from position: 22
2 jumps found. (Code = 78) Position 1 = 23, Position 2 = 34
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 33
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
Branch analysis from position: 33
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 66
Branch analysis from position: 66
2 jumps found. (Code = 44) Position 1 = 68, Position 2 = 47
Branch analysis from position: 68
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 61
Branch analysis from position: 50
2 jumps found. (Code = 77) Position 1 = 51, Position 2 = 60
Branch analysis from position: 51
2 jumps found. (Code = 78) Position 1 = 52, Position 2 = 60
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 59
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
Branch analysis from position: 59
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 64
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 68, Position 2 = 47
Branch analysis from position: 68
Branch analysis from position: 47
Branch analysis from position: 64
Branch analysis from position: 60
Branch analysis from position: 61
Branch analysis from position: 34
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 70
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 10
Branch analysis from position: 16
Branch analysis from position: 10
filename:       /in/Vcr7T
function name:  (null)
number of ops:  73
compiled vars:  !0 = $pracownicy, !1 = $grafiki, !2 = $rok, !3 = $miesiac, !4 = $liczba_dni_w_miesiacu, !5 = $licznik, !6 = $godziny, !7 = $i, !8 = $pracownik, !9 = $oneEmploeeResults, !10 = $grafik, !11 = $oneDayOneEmploeeResults, !12 = $oneEmploeeResult
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
   16     1        ASSIGN                                                   !1, <array>
   43     2        ASSIGN                                                   !2, 2016
   44     3        ASSIGN                                                   !3, 12
   45     4        ASSIGN                                                   !4, 5
   46     5        ASSIGN                                                   !5, 0
   47     6        ASSIGN                                                   !6, '8%2F16+'
   48     7        ECHO                                                     '%3Ctable+class%3D%5C%27table+table-bordered%5C%27%3E%3Cthead%3E%0A%3Ctr%3E%3Ctd%3ELP%3C%2Ftd%3E%3Ctd%3EImi%C4%99+i+nazwisko%3C%2Ftd%3E'
   49     8        ASSIGN                                                   !7, 1
          9      > JMP                                                      ->14
   50    10    >   CONCAT                                           ~21     '%3Ctd%3E', !7
         11        CONCAT                                           ~22     ~21, '%3C%2Ftd%3E'
         12        ECHO                                                     ~22
   49    13        PRE_INC                                                  !7
         14    >   IS_SMALLER_OR_EQUAL                                      !7, !4
         15      > JMPNZ                                                    ~24, ->10
   53    16    >   ECHO                                                     '%3C%2Ftr%3E%3C%2Fthead%3E%3Ctbody%3E'
   54    17      > FE_RESET_R                                       $25     !0, ->70
         18    > > FE_FETCH_R                                               $25, !8, ->70
   55    19    >   PRE_INC                                                  !5
   56    20        ASSIGN                                                   !9, null
   59    21      > FE_RESET_R                                       $28     !1, ->34
         22    > > FE_FETCH_R                                               $28, !10, ->34
   60    23    >   FETCH_DIM_R                                      ~29     !8, 'id_pracownika'
         24        FETCH_DIM_R                                      ~30     !10, 'id_pracownika'
         25        IS_EQUAL                                                 ~29, ~30
         26      > JMPZ                                                     ~31, ->33
   62    27    >   FETCH_DIM_R                                      ~33     !10, 'wartosc'
         28        INIT_ARRAY                                       ~34     ~33, 'value'
         29        FETCH_DIM_R                                      ~35     !10, 'dzien'
         30        ADD_ARRAY_ELEMENT                                ~34     ~35, 'day'
         31        ASSIGN_DIM                                               !9
         32        OP_DATA                                                  ~34
   59    33    > > JMP                                                      ->22
         34    >   FE_FREE                                                  $28
   69    35        CONCAT                                           ~36     '%0A%3Ctr%3E%3Ctd%3E', !5
         36        CONCAT                                           ~37     ~36, '%3C%2Ftd%3E'
         37        CONCAT                                           ~38     ~37, '%3Ctd%3E'
         38        FETCH_DIM_R                                      ~39     !8, 'imie'
         39        CONCAT                                           ~40     ~38, ~39
         40        CONCAT                                           ~41     ~40, '+'
         41        FETCH_DIM_R                                      ~42     !8, 'nazwisko'
         42        CONCAT                                           ~43     ~41, ~42
         43        CONCAT                                           ~44     ~43, '%3C%2Ftd%3E'
         44        ECHO                                                     ~44
   70    45        ASSIGN                                                   !7, 1
         46      > JMP                                                      ->66
   71    47    >   ECHO                                                     '%3Ctd%3E'
   72    48        ASSIGN                                                   !11, null
   73    49      > JMPZ                                                     !9, ->61
   74    50    > > FE_RESET_R                                       $47     !9, ->60
         51    > > FE_FETCH_R                                               $47, !12, ->60
   75    52    >   FETCH_DIM_R                                      ~48     !12, 'day'
         53        CAST                                          4  ~49     ~48
         54        IS_IDENTICAL                                             !7, ~49
         55      > JMPZ                                                     ~50, ->59
   76    56    >   FETCH_DIM_R                                      ~51     !12, 'value'
         57        ECHO                                                     ~51
   77    58        ASSIGN                                                   !11, <true>
   74    59    > > JMP                                                      ->51
         60    >   FE_FREE                                                  $47
   81    61    >   BOOL_NOT                                         ~53     !11
         62      > JMPZ                                                     ~53, ->64
         63    >   ECHO                                                     !6
   82    64    >   ECHO                                                     '%3C%2Ftd%3E'
   70    65        PRE_INC                                                  !7
         66    >   IS_SMALLER_OR_EQUAL                                      !7, !4
         67      > JMPNZ                                                    ~55, ->47
   84    68    >   ECHO                                                     '%3C%2Ftr%3E'
   54    69      > JMP                                                      ->18
         70    >   FE_FREE                                                  $25
   87    71        ECHO                                                     '%3C%2Ftbody%3E%3C%2Ftable%3E'
         72      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
173.42 ms | 1403 KiB | 13 Q