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+= $employee->quantity; } 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() //Произвести все расчеты и вывести на экран. { echo "Название департамента: {$this->name}\n"; $countEmployees = $this->countEmployees(); $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/28B8k
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                                                 
  146     3        ASSIGN                                                   !0, <array>
  147     4        ASSIGN                                                   !1, <array>
  148     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
  150    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          
  151    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          
  152    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          
  153    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          
  154    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          
  155    41        INIT_METHOD_CALL                                         !2, 'calculateall'
         42        DO_FCALL                                      0          
  157    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
  158    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          
  159    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          
  160    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          
  161    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          
  162    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          
  163    79        INIT_METHOD_CALL                                         !3, 'calculateall'
         80        DO_FCALL                                      0          
  165    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
  166    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          
  167    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          
  168    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          
  169   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          
  170   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          
  171   117        INIT_METHOD_CALL                                         !4, 'calculateall'
        118        DO_FCALL                                      0          
  173   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
  174   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          
  175   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          
  176   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          
  177   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          
  178   149        INIT_METHOD_CALL                                         !5, 'calculateall'
        150        DO_FCALL                                      0          
  192   151        INIT_FCALL                                               'getsumdep'
        152        SEND_VAR                                                 !0
        153        DO_FCALL                                      0  $49     
        154        ASSIGN                                                   !1, $49
  193   155      > FE_RESET_R                                       $51     !1, ->161
        156    > > FE_FETCH_R                                               $51, !6, ->161
  195   157    >   NOP                                                      
        158        FAST_CONCAT                                      ~52     !6, '%0A'
        159        ECHO                                                     ~52
  193   160      > JMP                                                      ->156
        161    >   FE_FREE                                                  $51
  198   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/28B8k
function name:  getSumDep
number of ops:  20
compiled vars:  !0 = $allDep, !1 = $sumDep, !2 = $dep
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  181     0  E >   RECV                                             !0      
  183     1        ASSIGN                                                   !1, <array>
  184     2      > FE_RESET_R                                       $4      !0, ->17
          3    > > FE_FETCH_R                                               $4, !2, ->17
  186     4    >   INIT_METHOD_CALL                                         !2, 'getSalaryDep'
          5        DO_FCALL                                      0  $6      
          6        ASSIGN_DIM_OP                +=               1          !1, 'allDepSalary'
          7        OP_DATA                                                  $6
  187     8        INIT_METHOD_CALL                                         !2, 'getCoffeeDep'
          9        DO_FCALL                                      0  $8      
         10        ASSIGN_DIM_OP                +=               1          !1, 'allDepCoffee'
         11        OP_DATA                                                  $8
  188    12        INIT_METHOD_CALL                                         !2, 'getPageDep'
         13        DO_FCALL                                      0  $10     
         14        ASSIGN_DIM_OP                +=               1          !1, 'allDepPage'
         15        OP_DATA                                                  $10
  184    16      > JMP                                                      ->3
         17    >   FE_FREE                                                  $4
  190    18      > RETURN                                                   !1
  191    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/28B8k
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/28B8k
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 = 7
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename:       /in/28B8k
function name:  countEmployees
number of ops:  10
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, ->7
          3    > > FE_FETCH_R                                               $4, !1, ->7
   24     4    >   FETCH_OBJ_R                                      ~5      !1, 'quantity'
          5        ASSIGN_OP                                     1          !0, ~5
   22     6      > JMP                                                      ->3
          7    >   FE_FREE                                                  $4
   26     8      > RETURN                                                   !0
   27     9*     > 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/28B8k
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/28B8k
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/28B8k
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/28B8k
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/28B8k
function name:  calculateall
number of ops:  44
compiled vars:  !0 = $countEmployees, !1 = $salary, !2 = $countCoffee, !3 = $countPage, !4 = $average
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   62     0  E >   ROPE_INIT                                     3  ~7      '%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+'
          1        FETCH_OBJ_R                                      ~5      'name'
          2        ROPE_ADD                                      1  ~7      ~7, ~5
          3        ROPE_END                                      2  ~6      ~7, '%0A'
          4        ECHO                                                     ~6
   63     5        INIT_METHOD_CALL                                         'countEmployees'
          6        DO_FCALL                                      0  $9      
          7        ASSIGN                                                   !0, $9
   64     8        INIT_FCALL                                               'round'
          9        INIT_METHOD_CALL                                         'getSalaryDep'
         10        DO_FCALL                                      0  $11     
         11        SEND_VAR                                                 $11
         12        DO_ICALL                                         $12     
         13        ASSIGN                                                   !1, $12
   65    14        ROPE_INIT                                     3  ~15     '%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+'
         15        ROPE_ADD                                      1  ~15     ~15, !1
         16        ROPE_END                                      2  ~14     ~15, '%0A'
         17        ECHO                                                     ~14
   66    18        INIT_METHOD_CALL                                         'getCoffeeDep'
         19        DO_FCALL                                      0  $17     
         20        ASSIGN                                                   !2, $17
   67    21        ROPE_INIT                                     3  ~20     '%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+'
         22        ROPE_ADD                                      1  ~20     ~20, !2
         23        ROPE_END                                      2  ~19     ~20, '%0A'
         24        ECHO                                                     ~19
   68    25        INIT_METHOD_CALL                                         'getPageDep'
         26        DO_FCALL                                      0  $22     
         27        ASSIGN                                                   !3, $22
   69    28        ROPE_INIT                                     3  ~25     '%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+'
         29        ROPE_ADD                                      1  ~25     ~25, !3
         30        ROPE_END                                      2  ~24     ~25, '%0A'
         31        ECHO                                                     ~24
   70    32        INIT_FCALL                                               'round'
         33        INIT_METHOD_CALL                                         'getAverageTugPerPage'
         34        DO_FCALL                                      0  $27     
         35        SEND_VAR                                                 $27
         36        SEND_VAL                                                 2
         37        DO_ICALL                                         $28     
         38        ASSIGN                                                   !4, $28
   71    39        ROPE_INIT                                     3  ~31     '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%B0+%D0%BE%D0%B4%D0%BD%D1%83+%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%83+'
         40        ROPE_ADD                                      1  ~31     ~31, !4
         41        ROPE_END                                      2  ~30     ~31, '%0A%0A%0A'
         42        ECHO                                                     ~30
   72    43      > RETURN                                                   null

End of function calculateall

End of class Departament.

Class Employee:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/28B8k
function name:  __construct
number of ops:  7
compiled vars:  !0 = $rank, !1 = $boss
line      #* E I O op               

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.79 ms | 1034 KiB | 16 Q