2012-10-20 127 views
2

在一個對象的構造函數中,我希望能夠傳遞一個int變量(表示一個id然後獲取到數據庫)或一個數組(當我已經獲取數據庫)

我想是這樣的:

__construct($var){ 
    if(isset($var['id'])){ /*tried also if($var['id']) != '')*/ 
     $this->id = $var['id']; 
    }else{ 
     $this->id = $var; 
     } 
} 

的事情是,通過傳遞一個int值參數爲$ var,那它就將進入對,如果第一種情況。

那麼我該如何檢查$ var是否是(asociative)數組?

+1

['is_array'](http://www.php.net/manual/en/function.is-array.php) – air4x

回答

4

您可以使用is_int ($var)來檢查它是否是一個int和is_array ($var),如果它是一個數組

1

您可以使用PHP is_array()is_int()功能

if(is_array($var)){ 
     $this->id = $var['id']; 
    }else{ 
     $this->id = $var; 
     } 

if(is_int($var)){ 
      $this->id = $var; 
     }elseif(is_array($var)){   
      $this->id = $var['id']; 
      } 
1

有至少有兩種不同的檢查方式:
gettype(),其中將返回一個字符串與類型

$type = gettype($var); 
switch($type) { 
    case 'array': 
     // .... 
     break; 
    case 'integer': 
     // ... 
     break; 
    // .... 
} 

並且還

is_int(),分別is_array(),其中,以某種方式並不奇怪,返回boolean值。

0

嘗試這種情況:

if (is_array($var)) ... 
相關問題