0

是的,所以我打开了 E_NOTICES 并且我的代码正常工作,每次我尝试使用 set 键将数据插入数组时,我都会不断收到“严重性:通知消息:未定义的索引:0”。当您尝试调试时,它真的很烦人。

我做错了什么会使通知消失而不关闭 E_NOTICES?

foreach ($bracketmatches->result() as $row)
{
  if(!isset($bracketdata[$row->position])) 
  {
    $bracketdata[$row->position] = array(); 
  }
  $bracketdata[$row->position] = array("home_name" => $teams[$row->home_id]['team_name']);
}
4

4 回答 4

2

$teams[$row->home_id]明确定义的吗?

编辑:为您进行快速而肮脏的测试:

foreach ($bracketmatches->result() as $row)
{
  if(!isset($teams[$row->home_id]))
  {
    die('GOTCHA!!!');
  }
  $bracketdata[$row->position] = array("home_name" => $teams[$row->home_id]['team_name']);
}
于 2011-05-28T18:37:39.797 回答
1

如果没有更多信息,不可能肯定地说,但我会检查 $row->position 是否已设置,如果有任何可能未定义,我会检查 $row->home_id 是否已设置。

于 2011-05-28T18:36:13.800 回答
0

在将值推送到它之前,您必须初始化基本数组。这里的 isset 并没有真正做任何事情。把它扔掉。如果您仍然收到错误,请确保$teams[$row->home_id]['team_name']始终设置。

$bracketdata = array();
foreach ($bracketmatches->result() as $row)
{
  $bracketdata[$row->position] = array("home_name" => $teams[$row->home_id]['team_name']);
}
于 2011-05-28T18:41:00.307 回答
0
$bracketdata = array();
foreach ($bracketmatches->result() as $row)
{
  if (isset($row->position) && !empty($row->position) && isset($teams[$row->home_id]['team_name']))
     $bracketdata[$row->position] = array("home_name" => $teams[$row->home_id]['team_name']);
}
于 2011-05-28T19:37:40.953 回答