为foreach()提供的参数无效,严重性:警告PHP和无效json

为foreach()提供的参数无效,严重性:警告PHP和无效json,php,Php,我花了将近8个小时试图解决这个警告。我试图用CodeIgniter和PHP编写一个站点,但我在PHP方面遇到了一个问题。我相信这很简单,不会错的。但我不知道来自哪里的bug,只是一个CodeIgniter和PHP的新手 控制器, public function fetchStudentData($studentId = null) { if($studentId) { $result = $this->model_student1->fetchStudentD

我花了将近8个小时试图解决这个警告。我试图用CodeIgniter和PHP编写一个站点,但我在PHP方面遇到了一个问题。我相信这很简单,不会错的。但我不知道来自哪里的bug,只是一个CodeIgniter和PHP的新手

控制器,

public function fetchStudentData($studentId = null) {
    if($studentId) {
        $result = $this->model_student1->fetchStudentData($studentId);
    }
else {
        $studentData = $this->model_student1->fetchStudentData();
        $result = array('data' => array());

        foreach ($studentData as $key => $value) {

            $button = '<!-- Single button -->
                <div class="btn-group">
                  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Action <span class="caret"></span>
                  </button>
                  <ul class="dropdown-menu">
                    <li><a type="button" data-toggle="modal" data-target="#updateStudentModal" onclick="editStudent('.$value['student_id'].')"> <i class="glyphicon glyphicon-edit"></i> Edit</a></li>
                    <li><a type="button" data-toggle="modal" data-target="#removeStudentModal" onclick="removeStudent('.$value['student_id'].')"> <i class="glyphicon glyphicon-trash"></i> Remove</a></li>
                  </ul>
                </div>';
$photo = '  <img src="../'.$value['image'].'" alt="Photo" class="img-circle candidate-photo"/>';

            $result['data'][$key] = array(
                $photo,
                $value['name'] . ' ' . $value['lname'],
                $value['age'],
                $value['contact'],
                $value['email'],
                $button
            );
        } // /foreach       }
    }echo json_encode($result);
}
试试这个

if (is_array($studentData) || is_object($studentData))
{
    foreach ($studentData as $value)
    {
        ...
    }
}

这个输出是什么?
var\u dump($studentData)将其放在前面的一行确保这消除了PHP报告错误的可能性,但也许他们需要修复该数组无法获取的原因data@YasheshPatel欢迎:)将此答案标记为正确答案,以帮助他人。
if (is_array($studentData) || is_object($studentData))
{
    foreach ($studentData as $value)
    {
        ...
    }
}