3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Obj { private $_name; public function getName() { if ($this->_name === null) { // Heavy DB query $this->_name = 'Foo'; } return $this->_name; } } $objects = array(new Obj(), new Obj()); usort($objects, function($a, $b) { if ($a->getName() < $b->getName()) { return 1; } else if ($a->getName() > $b->getName()) { return -1; } return 0; }); var_dump($objects);

preferences:
37.42 ms | 402 KiB | 5 Q