public static function getType($value) { switch (gettype($value)) { case 'NULL': return 3; break; case 'boolean': case 'integer': if ((int) $value < 32700) { return 1; } else { return 2; } break; case 'double': case 'string': if (strpos($value, '.') === false && is_numeric($value)) { return PHPWS_Settings::getType((int) $value); } if (strlen($value) < 100) { return 3; } else { return 4; } break; case 'object': case 'array': return 4; break; default: return 4; } }