php会话foreach存储数据问题

php会话foreach存储数据问题,php,arrays,session,foreach,foreach-loop-container,Php,Arrays,Session,Foreach,Foreach Loop Container,我有一个提交数据的表单。例如,假设它提交了以下数据: Age => 23 Gender => Male Country => UK 现在我需要将其存储在一个会话数组中,这是我已经创建的。但是,此数组已经存在,并且包含的字段比第一个表单提供的字段多。例如,会话阵列可能是这样的: Age => Value Gender => Value Country => Value State =>

我有一个提交数据的表单。例如,假设它提交了以下数据:

    Age     => 23
    Gender  => Male 
    Country => UK
现在我需要将其存储在一个会话数组中,这是我已经创建的。但是,此数组已经存在,并且包含的字段比第一个表单提供的字段多。例如,会话阵列可能是这样的:

    Age => Value
    Gender => Value
    Country => Value
    State => Value
    Language => Value
正如您所看到的,只有前3个是用第一种形式给出的。 我想要一个for-each循环来检测给定的值(在本例中为年龄、性别和国家),然后将这些值放入会话数组中

例如,下一张表格将提供以下信息:

    State => Value
    Language => Value
我一直在想这个问题,但我就是找不到解决办法/

类似于:

$valid_fields = array('Age', 'Gender', 'Country', 'State', 'Language');
foreach ($_POST as $key => $value) {
    if (in_array($key, $valid_fields)) {
        $_SESSION[$key] = $value;
    }
}

检查这个嘿,它好像不起作用了。我使用了相同的代码,使用了不同的数组名,但是当我转储$_POST数组时,我得到了以下结果:
array(6){[“mysqlname”]=>string(4)“root”[“mysqlpass”]=>string(4)“root”[“mysqlhost”]=>string(9)“localhost”[“mysqldatabase”]=>string(3)“pfs”[“mysqlport”=>string(4)“3306”[“seed”=>string(32)”7EC5754F503CFAAEE09FD48974E7”}
这就是我的$\u会话的样子:的$\u会话['mysqlname']的值是'',而$\u会话['mysqlpass']的值是''。。。。还没满。。但是你明白了。。它是空的,没有任何意义
$\u POST
始终使用表单字段值初始化。我不明白所有MySQL的东西怎么会进入它,你的脚本中一定有其他代码在做这件事。哦,等等,我只是注意到我做的东西顺序不对。让我重做我的代码,然后我会带着我的发现返回给你。你误解了
var\u dump
是如何显示值的。这意味着它有一个值
“root”
,这是一个4个字符长的字符串。你说的表单输入中的
年龄
性别
国家
在哪里?