表单提交:foreach循环中的PHP S_SESSION语句

时间:2013-02-09 00:37:44

标签: php arrays forms session foreach

假设我有以下PHP代码尝试从名为$arr的数组中读取,该数组采用值 {fullname,studentnumber,email} 。提交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语句。

编辑://第一个代码块实际上按预期工作。最初有一个错字!

1 个答案:

答案 0 :(得分:0)

你想要的是使用array_keys(),否则就是获得数组内容。

foreach (array_keys($arr) as $field)

请告诉我这是否有效/正在寻找:)