注意:未定义的偏移量:0 ... 25

时间:2014-02-16 08:55:32

标签: php

$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

任何人都可以帮助我吗?

...谢谢

1 个答案:

答案 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 ){