2012-01-06 142 views
1

我已經多次使用is_array。 該變量是一個數組,看我的代碼, ,但當我使用is_array函數它返回了假PHP is_array返回false?

任何想法?

這是我的代碼。

public function updateCategories($array = null) 
{ 
    echo gettype($array); // echos array 
    if($array = null) 
    {  
     return false; 
    }  
    if(!is_array($array)) 
    {  
     echo "false"; // echos false 
     return false; 
    } 

    foreach($array as $key => $val) 
    { 
     foreach($val as $Property => $Value) 
     { 
      if(!$this->updateCategoryProperty($key, $Property, $Value)) 
      { 
       return false; 
      } 
     } 
    } 
} 

回答

13

您的if($array = null)不是比較,而是分配。

+0

WOOOOW我不敢相信我錯過了,我多次閱讀了我的代碼。非常感謝你。 – 2012-01-06 00:30:13

+0

不客氣:) – 2012-01-06 00:30:49

+1

的確如此。你的編輯應該已經指出了你。我使用Netbeans,當我在if語句中進行任務時,它給了我一個警告。你應該試試。 – 2012-01-06 00:40:30

1

此外羅素·迪亞斯答案:總是寫你的「零檢查」,以這樣的方式

if (null == $my_var) 

現在,如果缺少一個「=」,這總是會得到一個真正的錯誤,因爲你不能分配有些東西爲空。