{fullname, studentnumber, email}$arr
という値を取る配列から読み取ろうとする次の PHP コードがあるとします。HTML フォームを送信すると、この PHP コードは foreach ループを実行し、ページに投稿された値を配列に格納します。$_SESSION
foreach($arr as $field):
$_SESSION[$field] = $_POST[$field];
endforeach;
上記のコードは意図したとおりに機能しません。上記のコード ブロックを以下のコードに置き換えると、ページのフィールドの値が$_SESSION
配列に正しく格納されます。
$_SESSION[fullname] = $_POST[fullname];
$_SESSION[studentnumber] = $_POST[studentnumber];
$_SESSION[email] = $_POST[email];
効率的で拡張可能な方法でこれを達成するにはどうすればよいですか? フォームに新しいフィールドを追加するたびに、新しい $_SESSION ステートメントを作成する必要はありません。
編集: // コードの最初のブロックは、実際には意図したとおりに機能します。もともと誤植がありました!