1

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

编辑://第一块代码实际上按预期工作。原来有错别字!

4

1 回答 1

0

你想要的是使用 array_keys() 否则你会得到数组内容。

foreach (array_keys($arr) as $field)

让我知道这是否有效/是您正在寻找的:)

于 2013-02-09T00:49:13.813 回答