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"; }

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0060.01616.50
8.3.50.0100.01018.32
8.3.40.0150.00318.76
8.3.30.0090.00618.75
8.3.20.0040.00420.38
8.3.10.0040.00423.58
8.3.00.0040.00423.61
8.2.180.0080.00816.38
8.2.170.0120.00922.96
8.2.160.0170.00320.39
8.2.150.0050.00324.18
8.2.140.0080.00024.66
8.2.130.0040.00422.30
8.2.120.0040.00426.35
8.2.110.0110.00021.18
8.2.100.0000.01117.97
8.2.90.0080.00019.21
8.2.80.0000.00817.97
8.2.70.0000.00817.50
8.2.60.0050.00318.04
8.2.50.0040.00418.10
8.2.40.0040.00420.47
8.2.30.0020.00519.15
8.2.20.0040.00417.99
8.2.10.0000.00718.06
8.2.00.0040.00418.15
8.1.280.0140.00725.92
8.1.270.0080.00023.73
8.1.260.0080.00026.35
8.1.250.0070.00028.09
8.1.240.0150.00623.97
8.1.230.0070.00417.77
8.1.220.0000.00817.78
8.1.210.0050.00318.77
8.1.200.0030.00617.23
8.1.190.0050.01017.13
8.1.180.0050.00318.10
8.1.170.0000.00818.70
8.1.160.0000.00918.93
8.1.150.0020.00520.18
8.1.140.0000.00717.47
8.1.130.0050.00320.63
8.1.120.0070.00317.43
8.1.110.0030.00617.46
8.1.100.0080.00017.50
8.1.90.0000.00817.48
8.1.80.0050.00217.51
8.1.70.0000.00717.44
8.1.60.0000.00817.56
8.1.50.0000.00817.57
8.1.40.0030.00717.61
8.1.30.0050.00317.64
8.1.20.0040.00417.70
8.1.10.0070.00017.59
8.1.00.0040.00417.41
8.0.300.0050.00218.77
8.0.290.0080.00016.63
8.0.280.0000.00718.41
8.0.270.0030.00317.29
8.0.260.0030.00316.76
8.0.250.0070.00016.94
8.0.240.0040.00417.05
8.0.230.0040.00416.99
8.0.220.0000.00716.96
8.0.210.0030.00516.85
8.0.200.0000.00716.98
8.0.190.0060.00316.88
8.0.180.0040.00416.93
8.0.170.0040.00416.84
8.0.160.0050.00316.94
8.0.150.0040.00416.91
8.0.140.0080.00016.77
8.0.130.0030.00313.30
8.0.120.0000.00716.80
8.0.110.0050.00216.78
8.0.100.0050.00216.70
8.0.90.0000.00716.79
8.0.80.0100.00716.86
8.0.70.0000.00816.86
8.0.60.0000.00717.03
8.0.50.0000.00716.91
8.0.30.0090.01117.12
8.0.20.0140.00617.40
8.0.10.0000.00717.00
8.0.00.0180.00016.87
7.4.330.0060.00015.55
7.4.320.0000.00616.43
7.4.300.0030.00316.54
7.4.290.0050.00516.53
7.4.280.0050.00316.52
7.4.270.0050.00316.59
7.4.260.0000.00716.63
7.4.250.0070.00016.39
7.4.240.0060.00316.67
7.4.230.0030.00316.46
7.4.220.0190.01016.51
7.4.210.0070.01416.69
7.4.200.0030.00516.51
7.4.160.0060.01116.52
7.4.150.0150.00917.40
7.4.140.0080.00917.86
7.4.130.0170.00316.58
7.4.120.0100.00916.44
7.4.110.0120.00816.61
7.4.100.0070.01316.43
7.4.90.0070.01116.60
7.4.80.0060.01219.39
7.4.70.0110.01116.79
7.4.60.0100.00716.52
7.4.50.0070.00716.50
7.4.40.0150.00316.41
7.4.30.0140.00716.50
7.4.00.0030.01014.82
7.3.330.0070.00013.11
7.3.320.0000.00713.32
7.3.310.0050.00216.33
7.3.300.0000.00716.37
7.3.290.0060.00816.33
7.3.280.0100.00616.30
7.3.270.0120.00617.40
7.3.260.0100.00816.49
7.3.250.0100.01016.55
7.3.240.0090.00716.41
7.3.230.0040.01316.64
7.3.210.0070.01016.60
7.3.200.0030.01416.40
7.3.190.0060.01016.46
7.3.180.0090.00616.26
7.3.170.0100.00716.61
7.3.160.0080.00816.50
7.3.10.0070.00416.76
7.3.00.0070.00316.58
7.2.330.0120.00616.45
7.2.320.0190.00616.79
7.2.310.0100.01016.69
7.2.300.0090.00916.66
7.2.290.0120.00916.59
7.2.130.0040.01216.96
7.2.120.0120.00716.80
7.2.110.0020.01316.76
7.2.100.0050.00716.75
7.2.90.0080.00316.66
7.2.80.0030.00916.76
7.2.70.0040.01017.04
7.2.60.0040.01016.77
7.2.50.0050.01016.88
7.2.40.0020.01216.85
7.2.30.0060.00916.86
7.2.20.0080.00517.06
7.2.10.0030.01417.12
7.2.00.0070.00616.96
7.1.250.0100.00315.85
7.1.240.0030.01115.81
7.1.230.0040.01115.96
7.1.220.0030.00615.94
7.1.210.0040.01115.67
7.1.200.0110.00315.84
7.1.190.0100.00615.89
7.1.180.0040.00715.92
7.1.170.0030.00915.82
7.1.160.0040.00415.62
7.1.150.0070.00715.83
7.1.140.0000.01015.61
7.1.130.0070.00715.84
7.1.120.0070.00715.74
7.1.110.0820.00515.95
7.1.100.0770.01315.92
7.1.90.0720.01015.98
7.1.80.0730.01016.01
7.1.70.0750.00915.70
7.1.60.1080.00524.55
7.1.50.0670.00724.35
7.1.40.0680.01024.34
7.1.30.0940.01124.19
7.1.20.0910.00924.11
7.1.10.0890.00515.24
7.1.00.0570.00815.29
7.0.320.0030.01015.46
7.0.310.0090.00615.53
7.0.300.0000.01015.15
7.0.290.0000.01415.44
7.0.280.0090.00015.49
7.0.270.0040.00415.45
7.0.260.0080.00515.32
7.0.250.0060.00615.37
7.0.240.0840.00815.62
7.0.230.0660.00515.62
7.0.220.0720.00515.58
7.0.210.0730.00615.16
7.0.200.0630.00815.11
7.0.190.0710.00515.31
7.0.180.0620.00814.90
7.0.170.0900.00315.05
7.0.160.0600.01014.99
7.0.150.0910.00915.07
7.0.140.0630.00814.92
7.0.130.0580.00915.06
7.0.120.0560.01015.16
7.0.110.0900.01014.90
7.0.100.0960.00515.05
7.0.90.0830.00915.12
7.0.80.0610.00914.99
7.0.70.0900.00815.13
7.0.60.0860.00914.92
7.0.50.0730.00315.09
7.0.40.0950.00814.22
7.0.30.0670.00614.04
7.0.20.0110.01214.14
7.0.10.0720.01214.12
7.0.00.0410.00514.13
5.6.380.0030.00714.39

preferences:
64.51 ms | 401 KiB | 5 Q