2012-01-06 145 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) 

现在,如果缺少一个“=”,这总是会得到一个真正的错误,因为你不能分配有些东西为空。