3v4l.org

run code in 300+ PHP versions simultaneously
<?php header("Content-Type: text/plain; charset=utf-8"); class Departament { public $name; public $employees = []; public function __construct($name) { $this->name = $name; } public function getEmpolyees($position, $rank, $boss, $quantity) { For ($i=1; $i<=$quantity; $i++) { $this->employees[] = new $position($rank, $boss); } } public function countEmployees() //число сотрудников в департаменте { $countEmployees=0; foreach ($this->employees as $employee) { $countEmployees++; } return $countEmployees; } public function getSalaryDep() //суммарная зарплата работников { $countSalaryDep=0; foreach ($this->employees as $employee) { $countSalaryDep+=$employee->getSalary(); } return $countSalaryDep; } public function getCoffeeDep() //потребляемое кофе всеми сотрудниками депа { $countCoffee = 0; foreach ($this->employees as $employee) { $countCoffee+= $employee->getCoffee(); } return $countCoffee; } public function getPageDep() //Число страниц документов и отчетов, которые производит этот департамент { $countPage = 0; foreach ($this->employees as $employee) { $countPage+= $employee->getPage(); } return $countPage; } public function getAverageTugPerPage() //Посчитать средний расход тугриков на одну страницу { $average = $this->getPageDep() / $this->getSalaryDep(); return $average; } public function calculateall() //Произвести все расчеты и вывести на экран. { $countEmployees = 0; $salary = 0; $countCoffee = 0; $countPage = 0; $average = 0; echo "Название департамента: {$this->name}\n"; $countEmployees = $this->countEmployees(); echo "Кол-во сотрудников : {$countEmployees}\n"; $salary=round($this->getSalaryDep()); // echo "Зп по этому департаменту = {$salary}\n"; $countCoffee= $this->getCoffeeDep(); echo "Кол-во выпитого коффе = {$countCoffee}\n"; $countPage = $this->getPageDep(); echo "Всего страниц этого депа: {$countPage}\n"; $average = round($this->getAverageTugPerPage(),2); echo "Cредний расход тугриков на одну страницу {$average}\n\n\n"; } } abstract Class Employee { public $coffe; public $page; public $baseSalary; public $rank; public $boss = false; public $quantity; public function __construct($rank, $boss) { $this->rank = $rank; $this->boss = $boss; } public function getSalary() //Посчитать зарплату отдельного работника с учётом ранга. Возвращает зарплату. { $salary = $this->baseSalary; switch($this->rank) { case 1: $salary = $salary;//Ранг 1, зп по дефолту break; case 2: $salary = $salary + ($salary)*25/100; //Ранг 2, прибавляем к з/п 25% break; case 3: $salary = $salary + ($salary)*50/100;//Ранг 3, прибавляем к з/п 50% break; default: echo "Неверно задан ранг."; } If ($this->boss) $salary=$salary + ($salary)*50/100; //Босс, прибавляем к з/п 50%(+за ранг отдельно накидывается) return $salary; } public function getCoffee()//Сколько кофе выпили сотрудники. Босс пьёт в два раза больше. { $coffee=$this->coffee; If ($this->boss) $coffee=$this->coffee*2; return $coffee; } public function getPage() // Страницы одного сотрудника. Босс = 0; { $page=$this->page; If ($this->boss) $page=0; return $page; } } Class Manager extends Employee { public $coffee = 20; public $page = 200; public $baseSalary = 500; } Class Marketer extends Employee { public $coffee = 15; public $page = 150; public $baseSalary = 400; } Class Engineer extends Employee { public $coffee = 5; public $page = 50; public $baseSalary = 200; } Class Analyst extends Employee { public $coffee = 50; public $page = 5; public $baseSalary = 800; } $allDep = []; $sumDep = []; $allDep[]=$procurementDep = new Departament("Procurement"); //Позиция, Ранг, босс, кол-во $procurementDep->getEmpolyees("Manager", 1, false, 9);// 9 менеджеров 1 ранга. $procurementDep->getEmpolyees("Manager",2, false, 3);//3 менеджера 2 ранга; $procurementDep->getEmpolyees("Manager",3, false, 2);// 2 менеджера 3 ранга; $procurementDep->getEmpolyees("Marketer", 1, false, 2);//2 маркетолога 1 ранга $procurementDep->getEmpolyees("Manager",2, true, 1);// Босс 2 ранга ме. $procurementDep->calculateall(); $allDep[]=$salesDep = new Departament("Sales"); $salesDep->getEmpolyees("Manager", 1, false, 12);// 12 менеджеров 1 ранга. $salesDep->getEmpolyees("Marketer", 1, false, 6);//6 маркетолога 1 ранга $salesDep->getEmpolyees("Analyst", 1, false, 3);//3 аналитика 1 ранга $salesDep->getEmpolyees("Analyst", 2, false, 2);//2 аналитика 1 ранга $salesDep->getEmpolyees("Marketer", 2, true, 1);//1 маркетолога 2 ранга boss $salesDep->calculateall(); $allDep[]=$advertisingDep = new Departament("Advertising"); $advertisingDep->getEmpolyees("Marketer", 1, false, 15);//15 маркетолога 1 ранга $advertisingDep->getEmpolyees("Marketer", 2, false, 10);//10 маркетолога 2 ранга $advertisingDep->getEmpolyees("Manager", 1, false, 8);// 8 менеджеров 1 ранга. $advertisingDep->getEmpolyees("Engineer", 1, false, 2);//2 инженера 1 ранга $advertisingDep->getEmpolyees("Marketer", 3, true, 1);//1 маркетолога 3 ранга boss $advertisingDep->calculateall(); $allDep[]=$logisticsDep = new Departament("logistics"); $logisticsDep->getEmpolyees("Manager", 1, false, 13);// 13 менеджеров 1 ранга. $logisticsDep->getEmpolyees("Manager", 2, false, 5);// 5 менеджеров 2 ранга. $logisticsDep->getEmpolyees("Engineer", 1, false, 5);//5 инженера 1 ранга $logisticsDep->getEmpolyees("Manager", 1, true, 1);// 1 менеджеров 1 ранга. boss $logisticsDep->calculateall(); function getSumDep($allDep) //Посчитать в сумме зарплаты/кофе/страницы всех департаментов. { $sumDep = []; foreach ($allDep as $dep) { $sumDep['allDepSalary']+=$dep->getSalaryDep(); $sumDep['allDepCoffee']+=$dep->getCoffeeDep(); $sumDep['allDepPage']+=$dep->getPageDep(); } return $sumDep; } $sumDep=getSumDep($allDep); foreach ($sumDep as $value) { echo "$value\n"; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 156, Position 2 = 161
Branch analysis from position: 156
2 jumps found. (Code = 78) Position 1 = 157, Position 2 = 161
Branch analysis from position: 157
1 jumps found. (Code = 42) Position 1 = 156
Branch analysis from position: 156
Branch analysis from position: 161
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 161
filename:       /in/ZQA1r
function name:  (null)
number of ops:  163
compiled vars:  !0 = $allDep, !1 = $sumDep, !2 = $procurementDep, !3 = $salesDep, !4 = $advertisingDep, !5 = $logisticsDep, !6 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'header'
          1        SEND_VAL                                                 'Content-Type%3A+text%2Fplain%3B+charset%3Dutf-8'
          2        DO_ICALL                                                 
  152     3        ASSIGN                                                   !0, <array>
  153     4        ASSIGN                                                   !1, <array>
  154     5        NEW                                              $11     'Departament'
          6        SEND_VAL_EX                                              'Procurement'
          7        DO_FCALL                                      0          
          8        ASSIGN                                           ~13     !2, $11
          9        ASSIGN_DIM                                               !0
         10        OP_DATA                                                  ~13
  156    11        INIT_METHOD_CALL                                         !2, 'getEmpolyees'
         12        SEND_VAL_EX                                              'Manager'
         13        SEND_VAL_EX                                              1
         14        SEND_VAL_EX                                              <false>
         15        SEND_VAL_EX                                              9
         16        DO_FCALL                                      0          
  157    17        INIT_METHOD_CALL                                         !2, 'getEmpolyees'
         18        SEND_VAL_EX                                              'Manager'
         19        SEND_VAL_EX                                              2
         20        SEND_VAL_EX                                              <false>
         21        SEND_VAL_EX                                              3
         22        DO_FCALL                                      0          
  158    23        INIT_METHOD_CALL                                         !2, 'getEmpolyees'
         24        SEND_VAL_EX                                              'Manager'
         25        SEND_VAL_EX                                              3
         26        SEND_VAL_EX                                              <false>
         27        SEND_VAL_EX                                              2
         28        DO_FCALL                                      0          
  159    29        INIT_METHOD_CALL                                         !2, 'getEmpolyees'
         30        SEND_VAL_EX                                              'Marketer'
         31        SEND_VAL_EX                                              1
         32        SEND_VAL_EX                                              <false>
         33        SEND_VAL_EX                                              2
         34        DO_FCALL                                      0          
  160    35        INIT_METHOD_CALL                                         !2, 'getEmpolyees'
         36        SEND_VAL_EX                                              'Manager'
         37        SEND_VAL_EX                                              2
         38        SEND_VAL_EX                                              <true>
         39        SEND_VAL_EX                                              1
         40        DO_FCALL                                      0          
  161    41        INIT_METHOD_CALL                                         !2, 'calculateall'
         42        DO_FCALL                                      0          
  163    43        NEW                                              $21     'Departament'
         44        SEND_VAL_EX                                              'Sales'
         45        DO_FCALL                                      0          
         46        ASSIGN                                           ~23     !3, $21
         47        ASSIGN_DIM                                               !0
         48        OP_DATA                                                  ~23
  164    49        INIT_METHOD_CALL                                         !3, 'getEmpolyees'
         50        SEND_VAL_EX                                              'Manager'
         51        SEND_VAL_EX                                              1
         52        SEND_VAL_EX                                              <false>
         53        SEND_VAL_EX                                              12
         54        DO_FCALL                                      0          
  165    55        INIT_METHOD_CALL                                         !3, 'getEmpolyees'
         56        SEND_VAL_EX                                              'Marketer'
         57        SEND_VAL_EX                                              1
         58        SEND_VAL_EX                                              <false>
         59        SEND_VAL_EX                                              6
         60        DO_FCALL                                      0          
  166    61        INIT_METHOD_CALL                                         !3, 'getEmpolyees'
         62        SEND_VAL_EX                                              'Analyst'
         63        SEND_VAL_EX                                              1
         64        SEND_VAL_EX                                              <false>
         65        SEND_VAL_EX                                              3
         66        DO_FCALL                                      0          
  167    67        INIT_METHOD_CALL                                         !3, 'getEmpolyees'
         68        SEND_VAL_EX                                              'Analyst'
         69        SEND_VAL_EX                                              2
         70        SEND_VAL_EX                                              <false>
         71        SEND_VAL_EX                                              2
         72        DO_FCALL                                      0          
  168    73        INIT_METHOD_CALL                                         !3, 'getEmpolyees'
         74        SEND_VAL_EX                                              'Marketer'
         75        SEND_VAL_EX                                              2
         76        SEND_VAL_EX                                              <true>
         77        SEND_VAL_EX                                              1
         78        DO_FCALL                                      0          
  169    79        INIT_METHOD_CALL                                         !3, 'calculateall'
         80        DO_FCALL                                      0          
  171    81        NEW                                              $31     'Departament'
         82        SEND_VAL_EX                                              'Advertising'
         83        DO_FCALL                                      0          
         84        ASSIGN                                           ~33     !4, $31
         85        ASSIGN_DIM                                               !0
         86        OP_DATA                                                  ~33
  172    87        INIT_METHOD_CALL                                         !4, 'getEmpolyees'
         88        SEND_VAL_EX                                              'Marketer'
         89        SEND_VAL_EX                                              1
         90        SEND_VAL_EX                                              <false>
         91        SEND_VAL_EX                                              15
         92        DO_FCALL                                      0          
  173    93        INIT_METHOD_CALL                                         !4, 'getEmpolyees'
         94        SEND_VAL_EX                                              'Marketer'
         95        SEND_VAL_EX                                              2
         96        SEND_VAL_EX                                              <false>
         97        SEND_VAL_EX                                              10
         98        DO_FCALL                                      0          
  174    99        INIT_METHOD_CALL                                         !4, 'getEmpolyees'
        100        SEND_VAL_EX                                              'Manager'
        101        SEND_VAL_EX                                              1
        102        SEND_VAL_EX                                              <false>
        103        SEND_VAL_EX                                              8
        104        DO_FCALL                                      0          
  175   105        INIT_METHOD_CALL                                         !4, 'getEmpolyees'
        106        SEND_VAL_EX                                              'Engineer'
        107        SEND_VAL_EX                                              1
        108        SEND_VAL_EX                                              <false>
        109        SEND_VAL_EX                                              2
        110        DO_FCALL                                      0          
  176   111        INIT_METHOD_CALL                                         !4, 'getEmpolyees'
        112        SEND_VAL_EX                                              'Marketer'
        113        SEND_VAL_EX                                              3
        114        SEND_VAL_EX                                              <true>
        115        SEND_VAL_EX                                              1
        116        DO_FCALL                                      0          
  177   117        INIT_METHOD_CALL                                         !4, 'calculateall'
        118        DO_FCALL                                      0          
  179   119        NEW                                              $41     'Departament'
        120        SEND_VAL_EX                                              'logistics'
        121        DO_FCALL                                      0          
        122        ASSIGN                                           ~43     !5, $41
        123        ASSIGN_DIM                                               !0
        124        OP_DATA                                                  ~43
  180   125        INIT_METHOD_CALL                                         !5, 'getEmpolyees'
        126        SEND_VAL_EX                                              'Manager'
        127        SEND_VAL_EX                                              1
        128        SEND_VAL_EX                                              <false>
        129        SEND_VAL_EX                                              13
        130        DO_FCALL                                      0          
  181   131        INIT_METHOD_CALL                                         !5, 'getEmpolyees'
        132        SEND_VAL_EX                                              'Manager'
        133        SEND_VAL_EX                                              2
        134        SEND_VAL_EX                                              <false>
        135        SEND_VAL_EX                                              5
        136        DO_FCALL                                      0          
  182   137        INIT_METHOD_CALL                                         !5, 'getEmpolyees'
        138        SEND_VAL_EX                                              'Engineer'
        139        SEND_VAL_EX                                              1
        140        SEND_VAL_EX                                              <false>
        141        SEND_VAL_EX                                              5
        142        DO_FCALL                                      0          
  183   143        INIT_METHOD_CALL                                         !5, 'getEmpolyees'
        144        SEND_VAL_EX                                              'Manager'
        145        SEND_VAL_EX                                              1
        146        SEND_VAL_EX                                              <true>
        147        SEND_VAL_EX                                              1
        148        DO_FCALL                                      0          
  184   149        INIT_METHOD_CALL                                         !5, 'calculateall'
        150        DO_FCALL                                      0          
  198   151        INIT_FCALL                                               'getsumdep'
        152        SEND_VAR                                                 !0
        153        DO_FCALL                                      0  $49     
        154        ASSIGN                                                   !1, $49
  199   155      > FE_RESET_R                                       $51     !1, ->161
        156    > > FE_FETCH_R                                               $51, !6, ->161
  201   157    >   NOP                                                      
        158        FAST_CONCAT                                      ~52     !6, '%0A'
        159        ECHO                                                     ~52
  199   160      > JMP                                                      ->156
        161    >   FE_FREE                                                  $51
  204   162      > RETURN                                                   1

Function getsumdep:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 17
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/ZQA1r
function name:  getSumDep
number of ops:  20
compiled vars:  !0 = $allDep, !1 = $sumDep, !2 = $dep
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  187     0  E >   RECV                                             !0      
  189     1        ASSIGN                                                   !1, <array>
  190     2      > FE_RESET_R                                       $4      !0, ->17
          3    > > FE_FETCH_R                                               $4, !2, ->17
  192     4    >   INIT_METHOD_CALL                                         !2, 'getSalaryDep'
          5        DO_FCALL                                      0  $6      
          6        ASSIGN_DIM_OP                +=               1          !1, 'allDepSalary'
          7        OP_DATA                                                  $6
  193     8        INIT_METHOD_CALL                                         !2, 'getCoffeeDep'
          9        DO_FCALL                                      0  $8      
         10        ASSIGN_DIM_OP                +=               1          !1, 'allDepCoffee'
         11        OP_DATA                                                  $8
  194    12        INIT_METHOD_CALL                                         !2, 'getPageDep'
         13        DO_FCALL                                      0  $10     
         14        ASSIGN_DIM_OP                +=               1          !1, 'allDepPage'
         15        OP_DATA                                                  $10
  190    16      > JMP                                                      ->3
         17    >   FE_FREE                                                  $4
  196    18      > RETURN                                                   !1
  197    19*     > RETURN                                                   null

End of function getsumdep

Class Departament:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZQA1r
function name:  __construct
number of ops:  4
compiled vars:  !0 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   RECV                                             !0      
   10     1        ASSIGN_OBJ                                               'name'
          2        OP_DATA                                                  !0
   11     3      > RETURN                                                   null

End of function __construct

Function getempolyees:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 6
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 6
Branch analysis from position: 17
Branch analysis from position: 6
filename:       /in/ZQA1r
function name:  getEmpolyees
number of ops:  18
compiled vars:  !0 = $position, !1 = $rank, !2 = $boss, !3 = $quantity, !4 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
   14     4        ASSIGN                                                   !4, 1
          5      > JMP                                                      ->15
   16     6    >   FETCH_CLASS                                   0  $8      !0
          7        NEW                                              $9      $8
          8        SEND_VAR_EX                                              !1
          9        SEND_VAR_EX                                              !2
         10        DO_FCALL                                      0          
         11        FETCH_OBJ_W                                      $6      'employees'
         12        ASSIGN_DIM                                               $6
         13        OP_DATA                                                  $9
   14    14        PRE_INC                                                  !4
         15    >   IS_SMALLER_OR_EQUAL                                      !4, !3
         16      > JMPNZ                                                    ~12, ->6
   18    17    > > RETURN                                                   null

End of function getempolyees

Function countemployees:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
filename:       /in/ZQA1r
function name:  countEmployees
number of ops:  9
compiled vars:  !0 = $countEmployees, !1 = $employee
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   ASSIGN                                                   !0, 0
   22     1        FETCH_OBJ_R                                      ~3      'employees'
          2      > FE_RESET_R                                       $4      ~3, ->6
          3    > > FE_FETCH_R                                               $4, !1, ->6
   24     4    >   PRE_INC                                                  !0
   22     5      > JMP                                                      ->3
          6    >   FE_FREE                                                  $4
   26     7      > RETURN                                                   !0
   27     8*     > RETURN                                                   null

End of function countemployees

Function getsalarydep:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
filename:       /in/ZQA1r
function name:  getSalaryDep
number of ops:  11
compiled vars:  !0 = $countSalaryDep, !1 = $employee
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   30     0  E >   ASSIGN                                                   !0, 0
   31     1        FETCH_OBJ_R                                      ~3      'employees'
          2      > FE_RESET_R                                       $4      ~3, ->8
          3    > > FE_FETCH_R                                               $4, !1, ->8
   33     4    >   INIT_METHOD_CALL                                         !1, 'getSalary'
          5        DO_FCALL                                      0  $5      
          6        ASSIGN_OP                                     1          !0, $5
   31     7      > JMP                                                      ->3
          8    >   FE_FREE                                                  $4
   35     9      > RETURN                                                   !0
   36    10*     > RETURN                                                   null

End of function getsalarydep

Function getcoffeedep:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
filename:       /in/ZQA1r
function name:  getCoffeeDep
number of ops:  11
compiled vars:  !0 = $countCoffee, !1 = $employee
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   39     0  E >   ASSIGN                                                   !0, 0
   40     1        FETCH_OBJ_R                                      ~3      'employees'
          2      > FE_RESET_R                                       $4      ~3, ->8
          3    > > FE_FETCH_R                                               $4, !1, ->8
   42     4    >   INIT_METHOD_CALL                                         !1, 'getCoffee'
          5        DO_FCALL                                      0  $5      
          6        ASSIGN_OP                                     1          !0, $5
   40     7      > JMP                                                      ->3
          8    >   FE_FREE                                                  $4
   44     9      > RETURN                                                   !0
   45    10*     > RETURN                                                   null

End of function getcoffeedep

Function getpagedep:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
filename:       /in/ZQA1r
function name:  getPageDep
number of ops:  11
compiled vars:  !0 = $countPage, !1 = $employee
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   ASSIGN                                                   !0, 0
   49     1        FETCH_OBJ_R                                      ~3      'employees'
          2      > FE_RESET_R                                       $4      ~3, ->8
          3    > > FE_FETCH_R                                               $4, !1, ->8
   51     4    >   INIT_METHOD_CALL                                         !1, 'getPage'
          5        DO_FCALL                                      0  $5      
          6        ASSIGN_OP                                     1          !0, $5
   49     7      > JMP                                                      ->3
          8    >   FE_FREE                                                  $4
   53     9      > RETURN                                                   !0
   54    10*     > RETURN                                                   null

End of function getpagedep

Function getaveragetugperpage:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZQA1r
function name:  getAverageTugPerPage
number of ops:  8
compiled vars:  !0 = $average
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   57     0  E >   INIT_METHOD_CALL                                         'getPageDep'
          1        DO_FCALL                                      0  $1      
          2        INIT_METHOD_CALL                                         'getSalaryDep'
          3        DO_FCALL                                      0  $2      
          4        DIV                                              ~3      $1, $2
          5        ASSIGN                                                   !0, ~3
   58     6      > RETURN                                                   !0
   59     7*     > RETURN                                                   null

End of function getaveragetugperpage

Function calculateall:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZQA1r
function name:  calculateall
number of ops:  53
compiled vars:  !0 = $countEmployees, !1 = $salary, !2 = $countCoffee, !3 = $countPage, !4 = $average
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   62     0  E >   ASSIGN                                                   !0, 0
   63     1        ASSIGN                                                   !1, 0
   64     2        ASSIGN                                                   !2, 0
   65     3        ASSIGN                                                   !3, 0
   66     4        ASSIGN                                                   !4, 0
   67     5        ROPE_INIT                                     3  ~12     '%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B4%D0%B5%D0%BF%D0%B0%D1%80%D1%82%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%3A+'
          6        FETCH_OBJ_R                                      ~10     'name'
          7        ROPE_ADD                                      1  ~12     ~12, ~10
          8        ROPE_END                                      2  ~11     ~12, '%0A'
          9        ECHO                                                     ~11
   68    10        INIT_METHOD_CALL                                         'countEmployees'
         11        DO_FCALL                                      0  $14     
         12        ASSIGN                                                   !0, $14
   69    13        ROPE_INIT                                     3  ~17     '%D0%9A%D0%BE%D0%BB-%D0%B2%D0%BE+%D1%81%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2+%3A+'
         14        ROPE_ADD                                      1  ~17     ~17, !0
         15        ROPE_END                                      2  ~16     ~17, '%0A'
         16        ECHO                                                     ~16
   70    17        INIT_FCALL                                               'round'
         18        INIT_METHOD_CALL                                         'getSalaryDep'
         19        DO_FCALL                                      0  $19     
         20        SEND_VAR                                                 $19
         21        DO_ICALL                                         $20     
         22        ASSIGN                                                   !1, $20
   71    23        ROPE_INIT                                     3  ~23     '%D0%97%D0%BF+%D0%BF%D0%BE+%D1%8D%D1%82%D0%BE%D0%BC%D1%83+%D0%B4%D0%B5%D0%BF%D0%B0%D1%80%D1%82%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D1%83+%3D+'
         24        ROPE_ADD                                      1  ~23     ~23, !1
         25        ROPE_END                                      2  ~22     ~23, '%0A'
         26        ECHO                                                     ~22
   72    27        INIT_METHOD_CALL                                         'getCoffeeDep'
         28        DO_FCALL                                      0  $25     
         29        ASSIGN                                                   !2, $25
   73    30        ROPE_INIT                                     3  ~28     '%D0%9A%D0%BE%D0%BB-%D0%B2%D0%BE+%D0%B2%D1%8B%D0%BF%D0%B8%D1%82%D0%BE%D0%B3%D0%BE+%D0%BA%D0%BE%D1%84%D1%84%D0%B5+%3D+'
         31        ROPE_ADD                                      1  ~28     ~28, !2
         32        ROPE_END                                      2  ~27     ~28, '%0A'
         33        ECHO                                                     ~27
   74    34        INIT_METHOD_CALL                                         'getPageDep'
         35        DO_FCALL                                      0  $30     
         36        ASSIGN                                                   !3, $30
   75    37        ROPE_INIT                                     3  ~33     '%D0%92%D1%81%D0%B5%D0%B3%D0%BE+%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86+%D1%8D%D1%82%D0%BE%D0%B3%D0%BE+%D0%B4%D0%B5%D0%BF%D0%B0%3A+'
         38        ROPE_ADD                                      1  ~33     ~33, !3
         39        ROPE_END                                      2  ~32     ~33, '%0A'
         40        ECHO                                                     ~32
   76    41        INIT_FCALL                                               'round'
         42        INIT_METHOD_CALL                                         'getAverageTugPerPage'
         43        DO_FCALL                                      0  $35     
         44        SEND_VAR                                                 $35
         45        SEND_VAL                                                 2
         46        DO_ICALL                                         $36     
         47        ASSIGN                                                   !4, $36
   77    48        ROPE_INIT                                     3  ~39     'C%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B9+%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4+%D1%82%D1%83%D0%B3%D1%80%D0%B8%D0%BA%D0%BE%D0%B2+%D0%BD%D0%B

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
139.59 ms | 1034 KiB | 16 Q