多维数组错误-索引不明

时间:2018-06-24 19:13:56

标签: php mysqli

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

  

注意:未定义索引:..中的标头ID

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测试是否为真时,结果为false。

使用print_r时,我得到以下信息: 数组([1] =>     Array([title] =>有关社区警务一般原则的有前途的做法[data] =>         数组([0] =>            Array([a] => 1 [title] =>在执法机构之间发起和发展协调与协作行动[内容] => .....之间的良好合作与协调关系

1 个答案:

答案 0 :(得分:0)

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

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

在测试中,您需要将代码编辑为

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