fork(30) download
  1. <?php
  2.  
  3. // archive-ipq-co.narod.ru
  4.  
  5. class Employee
  6. {
  7. public $name; // имя-фамилия
  8. public $rate; // часовая ставка (сколько он получает тугриков за час работы)
  9. public $hours = array(); // массив, содержащий отработанные часы по неделям
  10.  
  11. /** Считает общее число отработанных часов */
  12. public function getTotalHoursWorked()
  13. {
  14. // Просто складываем значения часов в массиве
  15. return array_sum($this->hours);
  16. }
  17.  
  18. /** Считает зарплату */
  19. public function getSalary()
  20. {
  21. // Получаем число отработанных часов
  22. $hours = $this->getTotalHoursWorked();
  23. // и умножаем на часовую ставку
  24. $salary = $hours * $this->rate;
  25. return $salary;
  26. }
  27. }
  28.  
  29.  
  30. $ivan = new Employee;
  31. $ivan->name = "Иванов Иван";
  32. $ivan->rate = 10; // Иван работает за 10 тугриков в час
  33. $ivan->hours = array(40, 40, 40, 40); // Иван работает по 40 часов в неделю
  34.  
  35. $peter = new Employee;
  36. $peter->name = "Петров Петр";
  37. $peter->rate = 8;
  38. $peter->hours = array(40, 10, 40, 50); // Петр взял отгул и потому отработал меньше часов,
  39. // но в последнюю неделю решил поработать побольше
  40.  
  41. $employees = array($ivan, $peter);
  42.  
  43. foreach ($employees as $employee) {
  44. echo "Имя: {$employee->name}\n";
  45. echo "Ставка, тугриков в час: {$employee->rate}\n";
  46. echo "Отработал, часов: {$employee->getTotalHoursWorked()}\n";
  47. echo "Заработал, тугриков: {$employee->getSalary()}\n";
  48. }
  49.  
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Имя: Иванов Иван
Ставка, тугриков в час: 10
Отработал, часов: 160
Заработал, тугриков: 1600
Имя: Петров Петр
Ставка, тугриков в час: 8
Отработал, часов: 140
Заработал, тугриков: 1120