首页 > 解决方案 > 多维数组错误 - 未识别的索引

问题描述

据我所知,我已经定义了变量,但是我收到以下错误:

注意:未定义的索引:headerid in ..

function group_items($db_results) {
  $data = array();
  while($row = mysqli_fetch_assoc($db_results)) {
    $title_id = htmlentities($row['TitleID']);
    $title = htmlentities($row['MainTitle']);

    // group Main Title by title id
    $data[$title_id]['title'] = htmlentities($row['MainTitle']);

    // group data by title id
    $data[$title_id]['data'][] = array( 
      'headerid' => $row['headerid'],
      'title'     => htmlentities($row['title']),
      'content'   => htmlentities($row['content'])
      );
  }

// testing
if (isset($data['headerid'])) {
        echo "Yes";
    } else {
         echo "NO";
     }

      return $data;
    }

当我同时使用isset()和测试array_key_exists真/假时,结果为假。

使用 print_r 时,我得到以下信息: Array ( [1] => Array ( [title] => 关于社区监管一般原则的有希望的做法 [data] => Array ( [0] => Array ( [a] => 1 [title] => 发起和发展执法机构之间的协调和协作行动 [content] => 良好的合作和协调关系 .... 更多内容在这里

标签: phpmysqli

解决方案


$data['headerid']未在您的代码中定义。

尝试Print_r($data);检查数组元素。

在测试时,您需要编辑代码以

isset($data[$title_id]['data'][0]['headerid']))

推荐阅读