3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ChampionGG { private $manaless = array("Aatrox", "DrMundo", "Mordekaiser", "Vladimir", "Zac", "Akali", "Kennen", "LeeSin", "Shen", "Zed", "Garen", "Gnar", "Katarina", "RekSai", "Renekton", "Rengar", "Riven", "Rumble", "Shyvana", "Tryndamere", "Yasuo"); public function getAllSets() { echo "Creating item sets for all champions...\n"; $time = time(); $saveFolder = $time . "_ItemSets"; $page = $this->getPage("http://champion.gg/"); preg_match_all('/<a href="([^"]*)" style="display:block">/si', $page, $list); foreach ($list[1] as $champPage) { $data = explode("/", $champPage); $champ = $data[2]; $role = $data[3]; $this->getOneSet($champ, $role, $saveFolder, $time); } echo "Complete!\n"; return true; } public function getOneSet($champ, $role, $saveFolder = null, $time = null) { if ($time == null) { $time = time(); } $url = "http://champion.gg/champion/" . $champ . "/" . $role; $page = $this->getPage($url); $data = $this->getBetween($page, "matchupData.championData = ", "matchupData.patchHistory"); $data = trim($data); $data = trim($data, ";"); $champJSON = json_decode($data, true); $currentPatch = $this->getBetween(str_replace(array("\n", " "), "", $page), "<small>Patch<strong>", "</strong>"); $firstMG = $champJSON["firstItems"]["mostGames"]; $firstHWP = $champJSON["firstItems"]["highestWinPercent"]; $fullMG = $champJSON["items"]["mostGames"]; $fullHWP = $champJSON["items"]["highestWinPercent"]; $skillsMG = $champJSON["skills"]["mostGames"]; $skillsHWP = $champJSON["skills"]["highestWinPercent"]; if (!isset($firstMG["games"], $firstHWP["games"], $fullMG["games"], $fullHWP["games"])) { echo "Woops, full data is unavailable for " . $champ . " in " . $role . " role\n"; file_put_contents($time . "_Unavailable.txt", "* " . $champ . " - " . $role . " role\n", FILE_APPEND); return false; } $consumeItems = array(2003, 2004, 2044, 2043, 2041, 2138, 2137, 2139, 2140); $trinketItems = array(3340, 3341, 3342); if (in_array($champ, $this->manaless)) { unset($consumeItems[1]); } $skillsItems1 = array(3361, 3362, 2003 /* health pot needed here so it works in other maps */); $skillsItems2 = array(3364, 3363, 2003); $skillsItemsComb = array(3361, 3362, 3364, 3363, 2003); $firstMGItems = array_merge($this->getItems($firstMG), $this->getItems($trinketItems, true)); $firstHWPItems = array_merge($this->getItems($firstHWP), $this->getItems($trinketItems, true)); $fullMGItems = $this->getItems($fullMG); $fullHWPItems = $this->getItems($fullHWP); $firstMGBlock = array( "items" => $firstMGItems, "type" => "Most Frequent Starters (" . $firstMG["winPercent"] . "% win - " . $firstMG["games"] . " games)" ); $firstHWPBlock = array( "items" => $firstHWPItems, "type" => "Highest Win Rate Starters (" . $firstHWP["winPercent"] . "% win - " . $firstHWP["games"] . " games)" ); $fullMGBlock = array( "items" => $fullMGItems, "type" => "Most Frequent Build (" . $fullMG["winPercent"] . "% win - " . $fullMG["games"] . " games)" ); $fullHWPBlock = array( "items" => $fullHWPItems, "type" => "Highest Win Rate Build (" . $fullHWP["winPercent"] . "% win - " . $fullHWP["games"] . " games)" ); $consumeBlock = array( "items" => $this->getItems($consumeItems, true), "type" => "Consumables" ); $skillsMGOrder = $this->getSkills($skillsMG); $skillsHWPOrder = $this->getSkills($skillsHWP); $skillsMGBlock = array( "items" => $this->getItems($skillsItems1, true), "type" => $skillsMGOrder . " (" . $skillsMG["winPercent"] . "% win - " . $skillsMG["games"] . " games)" ); $skillsHWPBlock = array( "items" => $this->getItems($skillsItems2, true), "type" => $skillsHWPOrder . " (" . $skillsHWP["winPercent"] . "% win - " . $skillsHWP["games"] . " games)" ); $roleFormatted = substr($champJSON["role"], 0, 1) . substr(strtolower($champJSON["role"]), 1); $itemSetArr = array( "map" => "any", "isGlobalForChampions" => false, "blocks" => array( $firstMGBlock, $firstHWPBlock, $fullMGBlock, $fullHWPBlock, $consumeBlock, $skillsMGBlock, $skillsHWPBlock ), "associatedChampions" => array(), "title" => $roleFormatted . " " . $currentPatch, "priority" => false, "mode" => "any", "isGlobalForMaps" => true, "associatedMaps" => array(), "type" => "custom", "sortrank" => 1, "champion" => $champJSON["key"] ); if ($skillsMGOrder == $skillsHWPOrder) { array_pop($itemSetArr["blocks"]); $itemSetArr["blocks"][5]["items"] = $this->getItems($skillsItemsComb, true); } if ($firstMGItems == $firstHWPItems) { unset($itemSetArr["blocks"][1]); } if ($fullMGItems == $fullHWPItems) { unset($itemSetArr["blocks"][3]); } $itemSetArr["blocks"] = array_values($itemSetArr["blocks"]); if ($saveFolder == null) { $saveFolder = $champJSON["key"] . "/Recommended"; } else { $saveFolder = $saveFolder . "/" . $champJSON["key"] . "/Recommended"; } if (!file_exists($saveFolder)) { mkdir($saveFolder, 0777, true); } $fileName = str_replace(".", "_", $currentPatch) . "_" . $roleFormatted . ".json"; $fileName = $saveFolder . "/" . $fileName; $itemSetJSON = json_encode($itemSetArr, JSON_PRETTY_PRINT); file_put_contents($fileName, $itemSetJSON); echo "Saved set for " . $champ . " in " . $role . " role to: " . $fileName . "\n"; return true; } private function getSkills($array) { $skillStr = ""; foreach ($array["order"] as $index => $skill) { $level = $index + 1; $skill = strtr($skill, array( "1" => "Q", "2" => "W", "3" => "E", "4" => "R" )); if ($level == 6 || $level == 12) { $skill .= " > "; } $skillStr .= $skill; } return $skillStr; } private function getItems($array, $fromPreset = false) { $items = array(); if ($fromPreset) { foreach ($array as $item) { $items[] = array( "count" => 1, "id" => (string) $item ); } } else { $itemIDs = array(); foreach ($array["items"] as $item) { $id = $item["id"]; if ($id == 2010) { $id = 2003; } if (isset($itemIDs[$id])) { $itemIDs[$id]++; } else { $itemIDs[$id] = 1; } } foreach ($itemIDs as $itemID => $count) { $items[] = array( "count" => $count, "id" => (string) $itemID ); } } return $items; } private function getBetween($content, $start, $end){ $r = explode($start, $content); if (isset($r[1])) { $r = explode($end, $r[1]); return $r[0]; } return ''; } private function getPage($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18"); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $data = curl_exec($ch); return $data; } } $champ = new ChampionGG(); //$champ->getOneSet("Bard", "Support"); $champ->getAllSets(); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VvIOu
function name:  (null)
number of ops:  6
compiled vars:  !0 = $champ
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  233     0  E >   NEW                                              $1      'ChampionGG'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
  235     3        INIT_METHOD_CALL                                         !0, 'getAllSets'
          4        DO_FCALL                                      0          
  236     5      > RETURN                                                   1

Class ChampionGG:
Function getallsets:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 17, Position 2 = 34
Branch analysis from position: 17
2 jumps found. (Code = 78) Position 1 = 18, Position 2 = 34
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 34
filename:       /in/VvIOu
function name:  getAllSets
number of ops:  38
compiled vars:  !0 = $time, !1 = $saveFolder, !2 = $page, !3 = $list, !4 = $champPage, !5 = $data, !6 = $champ, !7 = $role
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   ECHO                                                     'Creating+item+sets+for+all+champions...%0A'
    9     1        INIT_FCALL                                               'time'
          2        DO_ICALL                                         $8      
          3        ASSIGN                                                   !0, $8
   10     4        CONCAT                                           ~10     !0, '_ItemSets'
          5        ASSIGN                                                   !1, ~10
   11     6        INIT_METHOD_CALL                                         'getPage'
          7        SEND_VAL_EX                                              'http%3A%2F%2Fchampion.gg%2F'
          8        DO_FCALL                                      0  $12     
          9        ASSIGN                                                   !2, $12
   12    10        INIT_FCALL                                               'preg_match_all'
         11        SEND_VAL                                                 '%2F%3Ca+href%3D%22%28%5B%5E%22%5D%2A%29%22+style%3D%22display%3Ablock%22%3E%2Fsi'
         12        SEND_VAR                                                 !2
         13        SEND_REF                                                 !3
         14        DO_ICALL                                                 
   13    15        FETCH_DIM_R                                      ~15     !3, 1
         16      > FE_RESET_R                                       $16     ~15, ->34
         17    > > FE_FETCH_R                                               $16, !4, ->34
   14    18    >   INIT_FCALL                                               'explode'
         19        SEND_VAL                                                 '%2F'
         20        SEND_VAR                                                 !4
         21        DO_ICALL                                         $17     
         22        ASSIGN                                                   !5, $17
   15    23        FETCH_DIM_R                                      ~19     !5, 2
         24        ASSIGN                                                   !6, ~19
   16    25        FETCH_DIM_R                                      ~21     !5, 3
         26        ASSIGN                                                   !7, ~21
   18    27        INIT_METHOD_CALL                                         'getOneSet'
         28        SEND_VAR_EX                                              !6
         29        SEND_VAR_EX                                              !7
         30        SEND_VAR_EX                                              !1
         31        SEND_VAR_EX                                              !0
         32        DO_FCALL                                      0          
   13    33      > JMP                                                      ->17
         34    >   FE_FREE                                                  $16
   20    35        ECHO                                                     'Complete%21%0A'
   21    36      > RETURN                                                   <true>
   22    37*     > RETURN                                                   null

End of function getallsets

Function getoneset:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 9
Branch analysis from position: 6
2 jumps found. (Code = 46) Position 1 = 68, Position 2 = 70
Branch analysis from position: 68
2 jumps found. (Code = 46) Position 1 = 71, Position 2 = 73
Branch analysis from position: 71
2 jumps found. (Code = 46) Position 1 = 74, Position 2 = 76
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 78, Position 2 = 94
Branch analysis from position: 78
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 94
2 jumps found. (Code = 43) Position 1 = 102, Position 2 = 103
Branch analysis from position: 102
2 jumps found. (Code = 43) Position 1 = 258, Position 2 = 270
Branch analysis from position: 258
2 jumps found. (Code = 43) Position 1 = 272, Position 2 = 274
Branch analysis from position: 272
2 jumps found. (Code = 43) Position 1 = 276, Position 2 = 278
Branch analysis from position: 276
2 jumps found. (Code = 43) Position 1 = 286, Position 2 = 290
Branch analysis from position: 286
1 jumps found. (Code = 42) Position 1 = 295
Branch analysis from position: 295
2 jumps found. (Code = 43) Position 1 = 300, Position 2 = 305
Branch analysis from position: 300
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 305
Branch analysis from position: 290
2 jumps found. (Code = 43) Position 1 = 300, Position 2 = 305
Branch analysis from position: 300
Branch analysis from position: 305
Branch analysis from position: 278
Branch analysis from position: 274
Branch analysis from position: 270
Branch analysis from position: 103
Branch analysis from position: 76
Branch analysis from position: 73
Branch analysis from position: 70
Branch analysis from position: 9
filename:       /in/VvIOu
function name:  getOneSet
number of ops:  335
compiled vars:  !0 = $champ, !1 = $role, !2 = $saveFolder, !3 = $time, !4 = $url, !5 = $page, !6 = $data, !7 = $champJSON, !8 = $currentPatch, !9 = $firstMG, !10 = $firstHWP, !11 = $fullMG, !12 = $fullHWP, !13 = $skillsMG, !14 = $skillsHWP, !15 = $consumeItems, !16 = $trinketItems, !17 = $skillsItems1, !18 = $skillsItems2, !19 = $skillsItemsComb, !20 = $firstMGItems, !21 = $firstHWPItems, !22 = $fullMGItems, !23 = $fullHWPItems, !24 = $firstMGBlock, !25 = $firstHWPBlock, !26 = $fullMGBlock, !27 = $fullHWPBlock, !28 = $consumeBlock, !29 = $skillsMGOrder, !30 = $skillsHWPOrder, !31 = $skillsMGBlock, !32 = $skillsHWPBlock, !33 = $roleFormatted, !34 = $itemSetArr, !35 = $fileName, !36 = $itemSetJSON
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   24     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV_INIT                                        !2      null
          3        RECV_INIT                                        !3      null
   25     4        IS_EQUAL                                                 !3, null
          5      > JMPZ                                                     ~37, ->9
   26     6    >   INIT_FCALL                                               'time'
          7        DO_ICALL                                         $38     
          8        ASSIGN                                                   !3, $38
   28     9    >   CONCAT                                           ~40     'http%3A%2F%2Fchampion.gg%2Fchampion%2F', !0
         10        CONCAT                                           ~41     ~40, '%2F'
         11        CONCAT                                           ~42     ~41, !1
         12        ASSIGN                                                   !4, ~42
   30    13        INIT_METHOD_CALL                                         'getPage'
         14        SEND_VAR_EX                                              !4
         15        DO_FCALL                                      0  $44     
         16        ASSIGN                                                   !5, $44
   31    17        INIT_METHOD_CALL                                         'getBetween'
         18        SEND_VAR_EX                                              !5
         19        SEND_VAL_EX                                              'matchupData.championData+%3D+'
         20        SEND_VAL_EX                                              'matchupData.patchHistory'
         21        DO_FCALL                                      0  $46     
         22        ASSIGN                                                   !6, $46
   32    23        INIT_FCALL                                               'trim'
         24        SEND_VAR                                                 !6
         25        DO_ICALL                                         $48     
         26        ASSIGN                                                   !6, $48
   33    27        INIT_FCALL                                               'trim'
         28        SEND_VAR                                                 !6
         29        SEND_VAL                                                 '%3B'
         30        DO_ICALL                                         $50     
         31        ASSIGN                                                   !6, $50
   34    32        INIT_FCALL                                               'json_decode'
         33        SEND_VAR                                                 !6
         34        SEND_VAL                                                 <true>
         35        DO_ICALL                                         $52     
         36        ASSIGN                                                   !7, $52
   35    37        INIT_METHOD_CALL                                         'getBetween'
         38        INIT_FCALL                                               'str_replace'
         39        SEND_VAL                                                 <array>
         40        SEND_VAL                                                 ''
         41        SEND_VAR                                                 !5
         42        DO_ICALL                                         $54     
         43        SEND_VAR_NO_REF_EX                                       $54
         44        SEND_VAL_EX                                              '%3Csmall%3EPatch%3Cstrong%3E'
         45        SEND_VAL_EX                                              '%3C%2Fstrong%3E'
         46        DO_FCALL                                      0  $55     
         47        ASSIGN                                                   !8, $55
   37    48        FETCH_DIM_R                                      ~57     !7, 'firstItems'
         49        FETCH_DIM_R                                      ~58     ~57, 'mostGames'
         50        ASSIGN                                                   !9, ~58
   38    51        FETCH_DIM_R                                      ~60     !7, 'firstItems'
         52        FETCH_DIM_R                                      ~61     ~60, 'highestWinPercent'
         53        ASSIGN                                                   !10, ~61
   39    54        FETCH_DIM_R                                      ~63     !7, 'items'
         55        FETCH_DIM_R                                      ~64     ~63, 'mostGames'
         56        ASSIGN                                                   !11, ~64
   40    57        FETCH_DIM_R                                      ~66     !7, 'items'
         58        FETCH_DIM_R                                      ~67     ~66, 'highestWinPercent'
         59        ASSIGN                                                   !12, ~67
   42    60        FETCH_DIM_R                                      ~69     !7, 'skills'
         61        FETCH_DIM_R                                      ~70     ~69, 'mostGames'
         62        ASSIGN                                                   !13, ~70
   43    63        FETCH_DIM_R                                      ~72     !7, 'skills'
         64        FETCH_DIM_R                                      ~73     ~72, 'highestWinPercent'
         65        ASSIGN                                                   !14, ~73
   45    66        ISSET_ISEMPTY_DIM_OBJ                         0  ~75     !9, 'games'
         67      > JMPZ_EX                                          ~75     ~75, ->70
         68    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~76     !10, 'games'
         69        BOOL                                             ~75     ~76
         70    > > JMPZ_EX                                          ~75     ~75, ->73
         71    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~77     !11, 'games'
         72        BOOL                                             ~75     ~77
         73    > > JMPZ_EX                                          ~75     ~75, ->76
         74    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~78     !12, 'games'
         75        BOOL                                             ~75     ~78
         76    >   BOOL_NOT                                         ~79     ~75
         77      > JMPZ                                                     ~79, ->94
   46    78    >   CONCAT                                           ~80     'Woops%2C+full+data+is+unavailable+for+', !0
         79        CONCAT                                           ~81     ~80, '+in+'
         80        CONCAT                                           ~82     ~81, !1
         81        CONCAT                                           ~83     ~82, '+role%0A'
         82        ECHO                                                     ~83
   47    83        INIT_FCALL                                               'file_put_contents'
         84        CONCAT                                           ~84     !3, '_Unavailable.txt'
         85        SEND_VAL                                                 ~84
         86        CONCAT                                           ~85     '%2A+', !0
         87        CONCAT                                           ~86     ~85, '+-+'
         88        CONCAT                                           ~87     ~86, !1
         89        CONCAT                                           ~88     ~87, '+role%0A'
         90        SEND_VAL                                                 ~88
         91        SEND_VAL                                                 8
         92        DO_ICALL                                                 
   48    93      > RETURN                                                   <false>
   51    94    >   ASSIGN                                                   !15, <array>
   52    95        ASSIGN                                                   !16, <array>
   54    96        INIT_FCALL                                               'in_array'
         97        SEND_VAR                                                 !0
         98        FETCH_OBJ_R                                      ~92     'manaless'
         99        SEND_VAL                                                 ~92
        100        DO_ICALL                                         $93     
        101      > JMPZ                                                     $93, ->103
   55   102    >   UNSET_DIM                                                !15, 1
   58   103    >   ASSIGN                                                   !17, <array>
   59   104        ASSIGN                                                   !18, <array>
   60   105        ASSIGN                                                   !19, <array>
   62   106        INIT_FCALL                                               'array_merge'
        107        INIT_METHOD_CALL                                         'getItems'
        108        SEND_VAR_EX                                              !9
        109        DO_FCALL                                      0  $97     
        110        SEND_VAR                                                 $97
        111        INIT_METHOD_CALL                                         'getItems'
        112        SEND_VAR_EX                                              !16
        113        SEND_VAL_EX                                              <true>
        114        DO_FCALL                                      0  $98     
        115        SEND_VAR                                                 $98
        116        DO_ICALL                                         $99     
        117        ASSIGN                                                   !20, $99
   63   118        INIT_FCALL                                               'array_merge'
        119        INIT_METHOD_CALL                                         'getItems'
        120        SEND_VAR_EX                                              !10
        121        DO_FCALL                                      0  $101    
        122        SEND_VAR                                                 $101
        123        INIT_METHOD_CALL                                         'getItems'
        124        SEND_VAR_EX                                              !16
        125        SEND_VAL_EX                                              <true>
        126        DO_FCALL                                      0  $102    
        127        SEND_VAR                                                 $102
        128        DO_ICALL                                         $103    
        129        ASSIGN                                                   !21, $103
   64   130        INIT_METHOD_CALL                                         'getItems'
        131        SEND_VAR_EX                                              !11
        132        DO_FCALL                                      0  $105    
        133        ASSIGN                                                   !22, $105
   65   134        INIT_METHOD_CALL                                         'getItems'
        135        SEND_VAR_EX                                              !12
        136        DO_FCALL                                      0  $107    
        137        ASSIGN                                                   !23, $107
   68   138        INIT_ARRAY                                       ~109    !20, 'items'
   69   139        FETCH_DIM_R                                      ~110    !9, 'winPercent'
        140        CONCAT                                           ~111    'Most+Frequent+Starters+%28', ~110
        141        CONCAT                                           ~112    ~111, '%25+win+-+'
        142        FETCH_DIM_R                                      ~113    !9, 'games'
        143        CONCAT                                           ~114    ~112, ~113
        144        CONCAT                                           ~115    ~114, '+games%29'
        145        ADD_ARRAY_ELEMENT                                ~109    ~115, 'type'
   67   146        ASSIGN                                                   !24, ~109
   72   147        INIT_ARRAY                                       ~117    !21, 'items'
   73   148        FETCH_DIM_R                                      ~118    !10, 'winPercent'
        149        CONCAT                                           ~119    'Highest+Win+Rate+Starters+%28', ~118
        150        CONCAT                                           ~120    ~119, '%25+win+-+'
        151        FETCH_DIM_R                                      ~121    !10, 'games'
        152        CONCAT                                           ~122    ~120, ~121
        153        CONCAT                                           ~123    ~122, '+games%29'
        154        ADD_ARRAY_ELEMENT                                ~117    ~123, 'type'
   71   155        ASSIGN                                                   !25, ~117
   76   156        INIT_ARRAY                                       ~125    !22, 'items'
   77   157        FETCH_DIM_R                                      ~126    !11, 'winPercent'
        158        CONCAT                                           ~127    'Most+Frequent+Build+%28', ~126
        159        CONCAT                                           ~128    ~127, '%25+win+-+'
        160        FETCH_DIM_R                                      ~129    !11, 'games'
        161        CONCAT                                           ~130    ~128, ~129
        162        CONCAT                                           ~131    ~130, '+games%29'
        163        ADD_ARRAY_ELEMENT                                ~125    ~131, 'type'
   75   164        ASSIGN                                                   !26, ~125
   80   165        INIT_ARRAY                                       ~133    !23, 'items'
   81   166        FETCH_DIM_R                                      ~134    !12, 'winPercent'
        167        CONCAT                                           ~135    'Highest+Win+Rate+Build+%28', ~134
        168        CONCAT                                           ~136    ~135, '%25+win+-+'
        169        FETCH_DIM_R                                      ~137    !12, 'games'
        170        CONCAT                                           ~138    ~136, ~137
        171        CONCAT                                           ~139    ~138, '+games%29'
        172        ADD_ARRAY_ELEMENT                                ~133    ~139, 'type'
   79   173        ASSIGN                                                   !27, ~133
   84   174        INIT_METHOD_CALL                                         'getItems'
        175        SEND_VAR_EX                                              !15
        176        SEND_VAL_EX                                              <true>
        177        DO_FCALL                                      0  $141    
        178        INIT_ARRAY                                       ~142    $141, 'items'
   85   179        ADD_ARRAY_ELEMENT                                ~142    'Consumables', 'type'
   83   180        ASSIGN                                                   !28, ~142
   88   181        INIT_METHOD_CALL                                         'getSkills'
        182        SEND_VAR_EX                                              !13
        183        DO_FCALL                                      0  $144    
        184        ASSIGN                                                   !29, $144
   89   185        INIT_METHOD_CALL                                         'getSkills'
        186        SEND_VAR_EX                                              !14
        187        DO_FCALL                                      0  $146    
        188        ASSIGN                                                   !30, $146
   92   189        INIT_METHOD_CALL                                         'getItems'
        190        SEND_VAR_EX                                              !17
        191        SEND_VAL_EX                                              <true>
        192        DO_FCALL                                      0  $148    
        193        INIT_ARRAY                                       ~149    $148, 'items'
   93   194        CONCAT                                           ~150    !29, '+%28'
        195        FETCH_DIM_R                                      ~151    !13, 'winPercent'
        196        CONCAT                                           ~152    ~150, ~151
        197        CONCAT                                           ~153    ~152, '%25+win+-+'
        198        FETCH_DIM_R                                      ~154    !13, 'games'
        199        CONCAT                                           ~155    ~153, ~154
        200        CONCAT                                           ~156    ~155, '+games%29'
        201        ADD_ARRAY_ELEMENT                                ~149    ~156, 'type'
   91   202        ASSIGN                                                   !31, ~149
   96   203        INIT_METHOD_CALL                                         'getItems'
        204        SEND_VAR_EX                                              !18
        205        SEND_VAL_EX                                              <true>
        206        DO_FCALL                                      0  $158    
        207        INIT_ARRAY                                       ~159    $158, 'items'
   97   208        CONCAT                                           ~160    !30, '+%28'
        209        FETCH_DIM_R                                      ~161    !14, 'winPercent'
        210        CONCAT                                           ~162    ~160, ~161
        211        CONCAT                                           ~163    ~162, '%25+win+-+'
        212        FETCH_DIM_R                                      ~164    !14, 'games'
        213        CONCAT                                           ~165    ~163, ~164
        214        CONCAT                                           ~166    ~165, '+games%29'
        215        ADD_ARRAY_ELEMENT                                ~159    ~166, 'type'
   95   216        ASSIGN                                                   !32, ~159
  100   217        INIT_FCALL                                               'substr'
        218        FETCH_DIM_R                                      ~168    !7, 'role'
        219        SEND_VAL                                                 ~168
        220        SEND_VAL                                                 0
        221        SEND_VAL                                                 1
        222        DO_ICALL                                         $169    
        223        INIT_FCALL                                               'substr'
        224        INIT_FCALL                                               'strtolower'
        225        FETCH_DIM_R                                      ~170    !7, 'role'
        226        SEND_VAL                                                 ~170
        227        DO_ICALL                                         $171    
        228        SEND_VAR                                                 $171
        229        SEND_VAL                                                 1
        230        DO_ICALL                                         $172    
        231        CONCAT                                           ~173    $169, $172
        232        ASSIGN                                                   !33, ~173
  102   233        INIT_ARRAY                                       ~175    'any', 'map'
        234        ADD_ARRAY_ELEMENT                                ~175    <false>, 'isGlobalForChampions'
  105   235        INIT_ARRAY                                       ~176    !24
  106   236        ADD_ARRAY_ELEMENT                                ~176    !25
  107   237        ADD_ARRAY_ELEMENT                                ~176    !26
  108   238        ADD_ARRAY_ELEMENT                                ~176    !27
  109   239        ADD_ARRAY_ELEMENT                                ~176    !28
  110   240        ADD_ARRAY_ELEMENT                                ~176    !31
  111   241        ADD_ARRAY_ELEMENT                                ~176    !32
        242        ADD_ARRAY_ELEMENT                                ~175    ~176, 'blocks'
  102   243        ADD_ARRAY_ELEMENT                                ~175    <array>, 'associatedChampions'
  114   244        CONCAT                                           ~177    !33, '+'
        245        CONCAT                                           ~178    ~177, !8
        246        ADD_ARRAY_ELEMENT                                ~175    ~178, 'title'
  102   247        ADD_ARRAY_ELEMENT                                ~175    <false>, 'priority'
  116   248        ADD_ARRAY_ELEMENT                                ~175    'any', 'mode'
  102   249        ADD_ARRAY_ELEMENT                                ~175    <true>, 'isGlobalForMaps'
        250        ADD_ARRAY_ELEMENT                                ~175    <array>, 'associatedMaps'
  119   251        ADD_ARRAY_ELEMENT                                ~175    'custom', 'type'
  120   252        ADD_ARRAY_ELEMENT                                ~175    1, 'sortrank'
  121   253        FETCH_DIM_R                                      ~179    !7, 'key'
        254        ADD_ARRAY_ELEMENT                                ~175    ~179, 'champion'
  101   255        ASSIGN                                                   !34, ~175
  124   256        IS_EQUAL                                                 !29, !30
        257      > JMPZ                                                     ~181, ->270
  125   258    >   INIT_FCALL                                               'array_pop'
        259        FETCH_DIM_W                                      $182    !34, 'blocks'
        260        SEND_REF                                                 $182
        261        DO_ICALL                                                 
  126   262        INIT_METHOD_CALL                                         'getItems'
        263        SEND_VAR_EX                                              !19
        264        SEND_VAL_EX                                              <true>
        265        DO_FCALL                                      0  $187    
        266        FETCH_DIM_W                                      $184    !34, 'blocks'
        267        FETCH_DIM_W                                      $185    $184, 5
        268        ASSIGN_DIM                                               $185, 'items'
        269        OP_DATA                                                  $187
  129   270    >   IS_EQUAL                                                 !20, !21
        271      > JMPZ                                                     ~188, ->274
  130   272    >   FETCH_DIM_UNSET                                  $189    !34, 'blocks'
        273        UNSET_DIM                                                $189, 1
  133   274    >   IS_EQUAL                                                 !22, !23
        275      > JMPZ                                                     ~190, ->278
  134   276    >   FETCH_DIM_UNSET                                  $191    !34, 'blocks'
        277        UNSET_DIM                                                $191, 3
  137   278    >   INIT_FCALL                                               'array_values'
        279        FETCH_DIM_R                                      ~193    !34, 'blocks'
        280        SEND_VAL                                                 ~193
        281        DO_ICALL                                         $194    
        282        ASSIGN_DIM                                               !34, 'blocks'
        283        OP_DATA                                                  $194
  139   284        IS_EQUAL                                                 !2, null
        285      > JMPZ                                                     ~195, ->290
  140   286    >   FETCH_DIM_R                                      ~196    !7, 'key'
        287        CONCAT                                           ~197    ~196, '%2FRecommended'
        288        ASSIGN                                                   !2, ~197
        289      > JMP

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.68 ms | 1433 KiB | 39 Q