该帖子的预期值为0或1,但当该值为零时,它返回错误
if(!($data['status'] = filter_input(INPUT_POST,'status',FILTER_VALIDATE_INT)))
{
echo'Error';
}
else
return true;
Run Code Online (Sandbox Code Playgroud)
您的if语句隐式将调用的结果转换filter_input()为布尔值,然后测试该结果.在您的情况下,结果是0隐式转换为FALSE,因此测试失败.
您需要使用身份比较显式测试FALSE:
$data['status'] = filter_input(INPUT_POST,'status',FILTER_VALIDATE_INT);
if ($data['status'] === FALSE) ...
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅PHP类型比较表.