public function __invoke($array) { if (!is_array($array) && !$array instanceof \ArrayAccess) { return false; } foreach ($this->keys as $key) { if (!isset($array[$key]) || !array_key_exists($key, $array)) { return false; } } return true; }