参数foreach()无效


Invalid argument foreach()

我有下面的代码,但是,我的代码中出现了一个错误。我找不到问题,但是,我认为它来自:UserManagement::findByUsername($username);

$a_allSections = UserManagement::findByUsername($username);
    if($a_allSections) 
    {
        foreach($a_allSections as $a_section)
        {
              echo $a_section['name'];?>
        }
    } 
    else 
    {
         echo 'There's nothing found.' . "'n";
    }

显然$a_allSections不是数组,所以foreach会抱怨。使用var_dump($a_allSections)找出它的确切内容,并相应地修复您的代码。

以这种方式检查

UserManagement::findByUsername($username);

1.函数findByUsername($username)应该返回一些值

2.该类应包含在当前文档中。

3.检查您的返回结果是否为数组。if array表示check is_array();

4.如果你的问题中上述3项都可以,那么你就不会得到错误。

$a_allSections可能为空

将条件更改为

    if(is_array($a_allSections)){
      ...
    } 

以防止在空数组上出现此类错误