2011-05-25 108 views
0

在方法validateType它会调用方法intgerValidation为什么这给了我一个空白页?当我尝试运行它时,但当我删除intgerValidation方法时,它的工作原理是什么?为什么integerValidation方法不起作用?

public function validateType($validateThis, $validationType) { 
    $validateThis; 
    $validationType; 
    if($validationType == 'int') { 
     $this->integerValidation($validateThis)); 
    } 
    if($validationType == 'string') { 
     echo 'Is String'; 
    } 
    if($validationType == 'email') { 
     echo 'Is an Email'; 
    } 

} 
public function integerValidation($int) { 
    $regex = "/^[0-9]{10}$/"; 
    if(preg_match($regex, $int)) { 
     return true; 
    } 
    else { 
     return false; 
    } 
} 
     if($this->validateType(1234567890, 'int')) { 
      echo 'Hello'; 
     } 
     else { 
      echo 'Number does not validate'; 
     } 
+2

题外话:你知道[证实过滤器]的存在(http://fr.php.net/manual/en/filter的。 filters.validate.php)? – greg0ire 2011-05-25 11:28:37

回答

4

PHP已经内置函数用于检查变量类型

  • is_array
  • is_bool
  • is_callable
  • is_double
  • is_float
  • is_int
  • is_integer
  • IS_LONG
  • is_null
  • is_numeric
  • is_object
  • is_real
  • is_resource
  • is_scalar
  • IS_STRING

为什么不使用它们。 http://www.php.net/manual/en/ref.var.php

2

你必须把一个return在功能validateType