function var_is_object(array $variable, $default = NULL)
{
$varname = $variable[0];
switch ($varname) {
case 'GLOBALS':
case '_SERVER':
case '_GET':
case '_POST':
case '_FILES':
case '_COOKIE':
case '_SESSION':
case '_REQUEST':
case '_ENV':
case 'forloop':
case 'block':
return FALSE;
/* these are arrays */
}
$variable = $this->get_context($variable);
if (is_array($variable) || is_object($variable)) {
return $default ? is_object($variable) : is_object($variable) && !$variable instanceof Iterator && !$variable instanceof ArrayAccess;
}
return $default === NULL ? self::$dot_as_object : $default;
}