public function has($selector)
{
$pointer =& $this->data;
foreach (explode('.', $selector) as $field) {
if (!array_key_exists($field, $pointer)) {
return false;
}
$pointer =& $pointer[$field];
}
return true;
}