<?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