3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Collection { private $things; public function __construct(Thing ...$things) { $this->things = $things; } public function applyToAll() { /** * This was the function in question */ array_map(function($thing) { $thing->apply(); }, $this->things); } } interface Thing { public function apply(); } class FooThing implements Thing { public function apply() { echo 'applied the way Foo does things.'; } } class BarThing implements Thing { public function apply() { echo 'Bar had something different done to it.'; } } $collection = new Collection(new FooThing, new BarThing); $collection->applyToAll();

preferences:
48.12 ms | 402 KiB | 5 Q