_SESSION配列は連想配列です。数値インデックスでアクセスすることはできませんが、インデックス名を指定する必要があります(たとえば、コードで$_SESSION['qid']
)。next()
とにかく、配列を渡して関数を使用することはできます$_SESSION
(ここを参照してください:http://php.net/manual/en/function.next.php)。それを使用する正しい方法は次のとおりです。
$element = next($_SESSION)
このコードをサイクルに入れたいと思うでしょう。
さらに、あなたのコード:
$_SESSION['qn']=$_SESSION['qn']+1;
意味:プラス$_SESSION['qn']
の値に割り当てますが、これは必要な値ではありません。非連想配列の次の要素が必要な場合は、次を使用する必要があります。$_SESSION['qn']
1
$arr = $arr[$i+1]
ここ$i
で、は整数値です。
更新:コメントに関して、通常の配列(非結合)を内部に保存してみません$_SESSION['questions']
か?このようにして、この方法で質問にアクセスできるようになります。
$_SESSION['questions'][0], $_SESSION['questions'][1]...
今、あなたはそれをサイクル内で、またはあなたが望むものなら何でも使うことができます。例えば:
echo $ _SESSION ['questions'] [$ current_question_id + 1];
$current_question_id
次のボタンのクリックごとに更新(+1)される現在の質問インデックスはどこにありますか