class ValidatorClass{
public function PersonAge($firstPar, $secondPar){
if(!$this->isFloat($firstPar)){
return 0;
}
if(!$this->isNumber($secondPar)){
return 0;
}/*the function contiues to a select query that works if I remove the two filters on top and returns 1 if match found(but it doesn't matter for the situation, just to clarify)*/
}
}//PersonAge()
public function isFloat($inputFloat){
return is_float($inputFloat);
}
public function isNumber($inputNumber){
return is_int($inputNumber);
}
public function isString($inputString){
return is_string($inputString);
}
}
基本上,过滤器不起作用,它们返回0并且函数停止,值为float或integer,具体取决于具体情况。它们应该返回true并且不应该返回0,该函数应该继续。还有另一种方法可以做同样的事情吗?或许,让这个工作。
答案 0 :(得分:0)
这是因为is_int
检查数字是INT而不是数字文本
6 - 这对is_int很有用。
'6' - 这对is_int不好,因为它不是字符串。
您应该使用is_numeric()
来检查字符串是否为数字