3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); class Company { public $companyName; public $companyDepartments = []; public $companySalary; public function __construct($companyName, $companyDepartments) { $this->companyName = $companyName; $this->companyDepartments = $companyDepartments; } public function createDepartment($departmentName) { return new $departmentName; } /*public function getCompanySalary($departments) { foreach ($departments as $department) { $result += $department->getDepartmentSalary(); } return $result; }*/ } class Department { public $departmentName; public $employees = []; public function __construct($departmentName) { $this->departmentName = $departmentName; } public function setDepartmentEmployees($departmentName, $department) { $this->departmentName = $departmentName; $employees[] = 0; for ($i = 1; $i < count($department) - 1; $i++) { $employees[] = $department[$i][$i - 1]; $department->employees = $employees; } } public function getDepartmentSalary($department) { return $department->getDepartmentSalary(); } } class Profession { public $professionName; public $coffee; public $pages; public $salary; public function __construct($professionName) { $this->professionName = $professionName; } public function setCoffee($boss) { switch($this->professionName){ case 'Man': $this->coffee = 20; break; case 'Mar': $this->coffee = 15; break; case 'Eng': $this->coffee = 5; break; case 'Ana': $this->coffee = 50; break; } if ($boss == true) { return $this->coffee * 2; } else { return $this->coffee; } } public function setPages($boss) { switch($this->professionName){ case 'Man': $this->pages = 200; break; case 'Mar': $this->pages = 150; break; case 'Eng': $this->pages = 50; break; case 'Ana': $this->pages = 5; break; } if ($boss == true) { return $this->pages = 0; } else { return $this->pages; } } public function setSalary($boss) { switch($this->professionName){ case 'Man': $this->salary = 500; break; case 'Mar': $this->salary = 400; break; case 'Eng': $this->salary = 200; break; case 'Ana': $this->salary = 800; break; } if ($boss == true) { return $this->salary * 1.5; } else { return $this->salary; } } } $departments = []; $purchaseDepartment = ['Name' => 'Purchase', 'man1' => 9, 'man2' => 3, 'man3' => 2, 'mar1' => 2, 'boss' => 'man2']; $departments[] = $purchaseDepartment; $saleDepartment = ['Name' => 'Sale', 'man1' => 12, 'mar1' => 6, 'ana1' => 3, 'ana2' => 2, 'boss' => 'mar2']; $departments[] = $saleDepartment; $advertisingDepartment = ['Name' => 'Advertising', 'mar1' => 15, 'mar2' => 10, 'man1' => 8, 'eng1' => 2, 'boss' => 'mar3']; $departments[] = $advertisingDepartment; $logisticsDepartment = ['Name' => 'Logistics', 'man1' => 13, 'man2' => 5, 'eng1' => 5, 'boss' => 'man1']; $departments[] = $logisticsDepartment; function createEmployees($departments) { } $vector = new Company('Vector', $departments); foreach ($departments as $department) { $vector->createDepartment($department['Name']); }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Fatal error: Uncaught Error: Class "Purchase" not found in /in/pF6Mm:16 Stack trace: #0 /in/pF6Mm(135): Company->createDepartment('Purchase') #1 {main} thrown in /in/pF6Mm on line 16
Process exited with code 255.
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Fatal error: Uncaught Error: Class 'Purchase' not found in /in/pF6Mm:16 Stack trace: #0 /in/pF6Mm(135): Company->createDepartment('Purchase') #1 {main} thrown in /in/pF6Mm on line 16
Process exited with code 255.
Output for 5.6.0 - 5.6.40
Fatal error: Class 'Purchase' not found in /in/pF6Mm on line 16
Process exited with code 255.

preferences:
316.38 ms | 408 KiB | 5 Q