我在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[]"
中使用输入名称时,值也会变平
答案 0 :(得分:0)
您要搜索的配置可能是max_input_nesting_level
。
它被记录为具有64作为默认值,并且自PHP 4.4.8和PHP 5.2.3起可用。配置条目可以在php.ini
,.htaccess
,httpd.conf
或.user.ini
(自PHP 5.3起)documentation中设置。
你可以检查所有这些文件。