假设我有以下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语句。
编辑://第一个代码块实际上按预期工作。最初有一个错字!
答案 0 :(得分:0)
你想要的是使用array_keys(),否则就是获得数组内容。
foreach (array_keys($arr) as $field)
请告诉我这是否有效/正在寻找:)