$ _POST中的多级数组,PHP 5.6

时间:2015-07-24 15:09:54

标签: php arrays post

我在PHP项目上工作,发布带有HTML表单的数据。 我有这样的输入:

   <input type="checkbox" name="members[100][active]" />
   <select name="members[100][status]" />

我希望收到这个$ _POST:

   array(
     "members" => array(
       "100" => array(
         "active" => "1",
         "status" => "ABC"
       )
     )
   )

在CentOS6上使用PHP 5.3.3可以正常工作,但在Ubuntu上不能使用PHP 5.6.4。

结果如下:

   array(
     "members" => array(
       "100" => "active1statusABC"
       )
     )
   )

gettype(&#34; active1statusABC&#34;)返回&#34;字符串&#34;,它不再是一个数组。

在5.3.3上,PHP运行apache,在5.6.4上,我运行一个独立的PHP服务器(它是我的自动测试开发机器)

我是否需要更改php配置变量?

编辑:

在论坛name="key[]"

中使用输入名称时,

值也会变平

1 个答案:

答案 0 :(得分:0)

您要搜索的配置可能是max_input_nesting_level

它被记录为具有64作为默认值,并且自PHP 4.4.8和PHP 5.2.3起可用。配置条目可以在php.ini.htaccesshttpd.conf.user.ini(自PHP 5.3起)documentation中设置。

你可以检查所有这些文件。