3v4l.org

run code in 300+ PHP versions simultaneously
<?php // archive-ipq-co.narod.ru error_reporting(-1); class Employee { public $name; // имя-фамилия public $rate; // часовая ставка (сколько он получает тугриков за час работы) public $hours = array(); // массив, содержащий отработанные часы по неделям public function __construct($name, $rate) { // задаем имя и часовую ставку $this->name = $name; $this->rate = $rate; } /** Считает общее число отработанных часов */ public function getTotalHoursWorked() { // Просто складываем значения часов в массиве return array_sum($this->hours); } /** Считает зарплату */ public function getSalary() { // Получаем число отработанных часов $hours = $this->getTotalHoursWorked(); // и умножаем на часовую ставку $salary = $hours * $this->rate; return $salary; } } $ivan = new Employee("Иванов Иван", 10); // name и rate заданы через конструктор, потому осталось лишь написать часы $ivan->hours = array(40, 40, 40, 40); // Иван работает по 40 часов в неделю $peter = new Employee("Петров Петр", 8); $peter->hours = array(40, 10, 40, 50); // Петр взял отгул и потому отработал меньше часов, // но в последнюю неделю решил поработать побольше $employees = array($ivan, $peter); foreach ($employees as $employee) { echo "Имя: {$employee->name}\n"; echo "Ставка, тугриков в час: {$employee->rate}\n"; echo "Отработал, часов: {$employee->getTotalHoursWorked()}\n"; echo "Заработал, тугриков: {$employee->getSalary()}\n"; } // Ширина колонок $col1 = 30; $col2 = 8; $col3 = 8; $col4 = 8; function padRight($string, $length){ } function padLeft($string, $length){ } // Заголовок таблицы echo padRight("Сотрудник", $col1) . padLeft("Часы", $col2) . padLeft("Ставка", $col3) . padLeft("З/п", $col4) . "\n\n"; // Сама таблица foreach ($employees as $employee) { echo padRight($employee->name, $col1) . padLeft($employee->getTotalHoursWorked(), $col2) . padLeft($employee->rate, $col3) . padLeft($employee->getSalary(), $col4) . "\n"; }
Output for 7.0.0 - 7.0.24, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Имя: Иванов Иван Ставка, тугриков в час: 10 Отработал, часов: 160 Заработал, тугриков: 1600 Имя: Петров Петр Ставка, тугриков в час: 8 Отработал, часов: 140 Заработал, тугриков: 1120
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Имя: Иванов Иван Ставка, тугриков в час: 10 Отработал, часов: 160 Заработал, тугриков: 1600 Имя: Петров Петр Ставка, тугриков в час: 8 Отработал, часов: 140 Заработал, тугриков: 1120

preferences:
159.31 ms | 402 KiB | 179 Q