1
我正在使用PHP编写REST接口来提交和查询来自气象站的数据。风速/温度/等值通过POST请求作为浮点(例如1.32)来发送,除非它们为零,在这种情况下发送单个'0'数字。
我写了下面的代码来验证输入值:
if (is_numeric($params['wind']))
{
if (!filter_var($params['wind'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION, $windLimit))
{
throw new Exception('WIND (wind) WRONG VALUE TYPE [received '.$params['wind'].'].');
}
}
else
{
throw new Exception('WIND (wind) WRONG TYPE [received '.$params['wind'].'].');
}
这对于非零值效果很好,但究竟何时0 是否有filter_var使用特定的过滤器失效验证( )当值可以是整数或浮点数?