2014-02-16 3 views
-1
$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']); 
    } 
} 

Это появляетсяПримечание: Undefined смещение: 0 ... 25

Примечание: Undefined смещение: 0

Примечание: Undefined смещение: 1

Примечание: Undefined смещение: 2

....

Примечание: Неопределенное смещение: 25

Может ли кто-нибудь мне помочь?

Спасибо ...

+3

что внутри $ USER_RESPONSES. вы можете сделать print_r ($ user_responses) –

+0

Неопределенное смещение означает, что ключ массива не существует. Im догадывается, что есть проблема с массивом $ mismatch_responses [$ i] – MSadura

+0

Что показывает var_dump ($ user_responses)? – Aris

ответ

1

В этом случае вы можете сделать две вещи. Измените отчет об ошибках на «E_ALL & ~ 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){ 
+0

Тогда это будет появляется Примечание: Неопределенное смещение: i @@ –

+0

Какой код вы использовали для установки уровня отчетности об ошибках? О кстати, второе решение лучше;) – Benz

+0

Thx Вы исправляете мою проблему =) –

Смежные вопросы