public function has($id)
    {
        if (strpos($id, '.') !== false) {
            $k = '$this->data' . "['" . str_replace('.', "']['", $id) . "']";
            eval('$has = isset(' . $k . ');');
            return $has;
        } else {
            return (is_string($id)) ? array_key_exists($id, $this->data) : false;
        }
    }