質問: PHPで4択クイズアプリを作りたいのですが、1ページ内に問題を5問表示したい場合、1つ目の問題($question)の配列を問題数分宣言していく必要があるのでしょうか?それともfor文やforeachで繰り返す方法があるのでしょうか。(質問1) そして、問題が増えることにより、回答の合否をcsvで管理しようと考えているのですが、非効率的でしょうか?サーバサイドでいつでも問題の中身を変えやすいようにしたいです(質問2) 理解が浅いですが、何卒ご教授いただければ幸いです。 ``` クイズPractice ```
回答: > > 問題が増えることにより、回答の合否をcsvで管理しようと考えているのですが > > > 1問でも1000問であってもコード内に問題とその答えをコード内に持つメリットはありません。 問題が増える可能性があるのでしたら余計に、毎回コードをメンテナンスしてはいけません。 データの管理のしやすさの面から考えるとデータベースを選択するべきです。 一連の情報は、問題に対して複数の選択肢、そして答えから成り立ちます。 もしかしたら傾向なども知りたければ別途その問題の正解率やどう間違えられやすいかなどを解析するためのデータの蓄積も必要でしょう。 となると、「問題」「選択肢」「答え」自体をメンテナンスする管理機能を準備するのが良いです。 問題によって選択肢を増減させたり複数の答えを選択させたい場合もあるでしょうし。 > > 1ページ内に問題を5問表示したい > > > ここも「何問表示するか」を管理する機能を作るとより汎用性の高いアプリケーションになります。 質問だけに答えると「如何様にも作れる」です。 問題や選択肢をどのように持たせるかによっても違います。