我知道变量$value
应该是哪种类型。应该使用is_numeric()
来测试它是否为浮点字符串吗?
private function sanitize($value, $type) {
switch($type) {
case 'boolean':
if(!is_bool($value)) $value=filter_var($value, FILTER_VALIDATE_BOOLEAN);
break;
case 'integer':
if(ctype_digit($value)) $value=(int)$value;
break;
case 'float':
if(is_numeric($value) && !is_float($value)) $value=(float)$value;
break;
//case 'string':case 'object':case 'array': //Not sanitized
}
return $value;
}