$score = 0;
$topics = array();
for ($i = 0; $i < count($user_responses); $i++) {
if ( ((int)$user_responses[$i]['response'])+((int)$mismatch_responses[$i]['response']) == 3 ){
$score += 1;
array_push($topics, $user_responses[$i]['topic_name']);
}
}
出现
注意:未定义的偏移量:0
注意:未定义的偏移量:1
注意:未定义的偏移量:2
...
注意:未定义的偏移量:25
任何人都可以帮助我吗?
...谢谢
答案 0 :(得分:1)
在这种情况下你可以做两件事。将错误报告更改为“E_ALL&amp; ~E_NOTICE'所以你不会被这些消息困扰。或使用'isset'函数检查变量是否存在。
我认为你的问题在这里:
if ( ((int)$user_responses[$i]['response'])+((int)$mismatch_responses[$i]['response']) == 3 ){
首先应检查两个变量是否存在,如果存在,则使用它:
if (!isset($user_responses[$i]['response']) || !isset($mismatch_responses[$i]['response'])) continue; //skips the loop if one of the variables does not exist
if ( ((int)$user_responses[$i]['response'])+((int)$mismatch_responses[$i]['response']) == 3 ){