public function as_array() { if (func_num_args() === 0) { return $this->_data; } $args = func_get_args(); return array_intersect_key($this->_data, array_flip($args)); }