run code in 200+ php & hhvm versions
Bugs & Features
<?php class Student { private $classes; public function __construct($classes) { $this->classes = $classes; } public function getClasses() { return $this->classes; } public function combineClasses(Student $otherStudent) { $allClasses = array_unique(array_merge($this->classes, $otherStudent->classes)); $this->classes = $allClasses; $otherStudent->classes = $allClasses; } } $mary = new Student(['CompSci2001', 'CompSci2002']); $john = new Student(['CompSci2002', 'CompSci2003']); $mary->combineClasses($john); var_dump($mary->getClasses()); var_dump($john->getClasses());
based on 3nLfb

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)