2016-05-26 14 views
1

このコードは、PHPのようなエラーを示していますNotice:undefined offset 381. ループが実行されるとオフセット番号が増加します。PHP通知:未定義オフセット381とwhileループwhileでの382

$marks=0; 
$correct = 0; 
while ($row=mysqli_fetch_assoc($result)){ 
    $exam_name = $row['exam_name']; 
    $exam_percentage = $row['exam_pass_percentage']; 
    if($row['a_sortorder'] == $json['responses'][0][1][$row['qid']]){ 
     $marks = $marks + 4; 
     $correct++; 
    } 
} 

どうすればよいですか?

+0

'$ json ['responses'] [0] [1] ['381']' doesn存在しない。 * isset *がある場合は最初にチェックしてください。 –

+0

解決策が見つかりました。$ json ['] [$ 1] [$ 1] $ row ['qid'] .... $ row ['qid'] .... qidは第三者のアプリケーションによって変更されました。 –

答えて

1
にコードを変更し

$marks=0; 
$correct = 0; 
while ($row=mysqli_fetch_assoc($result)){ 
    $exam_name = $row['exam_name']; 
    $exam_percentage = $row['exam_pass_percentage']; 
    if(isset($row['a_sortorder']) && isset($json['responses'][0][1][$row['qid']]) && $row['a_sortorder'] == $json['responses'][0][1][$row['qid']]){ 
     $marks = $marks + 4; 
     $correct++; 
    } 
} 
-1

助けをありがとう。私はそれを解決しました。問題は$ row ['qid']と[1]でした。 $ row ['qid']は整数ですが、私が$ row ['qid']を使うキーはq381のようなvarchar型のキーで、私は381だけを使っていました。 $ row ['qid']それは動作します。 もう1つの問題は、このキーも変更されているため、対応する変数に置き換えて正常に動作していることです。

+0

これはあなた以外の誰かに助けになると思いますか? –

+0

これは助けになるかもしれません....彼/彼女が同じような間違いをしていると誰かが参照として使用することができます..私は未定義についてはわかりませんオフセットx、ここでxは任意の値にすることができますが、以前は今のところ私はそれについていくつかの考えを持っています。 –

関連する問題