2011-05-25 110 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