3v4l.org

run code in 300+ PHP versions simultaneously
<?php class NumberReturner { private $nums; public function __construct($nums) { $this->nums = $nums; } public function resolve() { return $this->nums; } } $objs = [new NumberReturner([1, 2, 3, 4]), new NumberReturner([1, 2, 5, 6]), new NumberReturner([1, 2, 6])]; $initial = array_shift($objs)->resolve(); $result = array_reduce($objs, function($result, $obj) { return array_intersect($result, $obj->resolve()); }, $initial); var_dump($result);

preferences:
33.63 ms | 402 KiB | 5 Q