我在通过html输入创建的横向数组时遇到一个奇怪的问题。 这是我的HTML:
<input type="hidden" name="new_date['rule'][]" value="hfgfgfgfg">
<input type="date" name="new_date['date'][]" />
如果我提交表单,那么我得到这样的数组:
$var=$_POST['new_date'];
echo"<pre>";
print_r($var);
echo"</pre>";
//output
Array
(
['rule'] => Array
(
[0] => rule_5a6c50ff02fff
)
['date'] => Array
(
[0] => 2018-05-24
)
)
如果我使用键rule
尝试数组,那么我什么都没有或者是空的。
print_r($var['rule']);
//output
.....empty......
请帮忙。 TIA
答案 0 :(得分:4)
你可以试试这个
<input type="hidden" name="new_date[rule][]" value="hfgfgfgfg">
<input type="date" name="new_date[date][]" />
答案 1 :(得分:4)
在HTML中,您的used new_date['rule'][]
密钥为'rule'
,因此在通过POST进行检索时,您需要使用相同的密钥,即使用单引号
以下使用:
var_dump($var["'rule'"])
要使用:$var['rule']
,您可能需要在html中使用new_date[rule][]
答案 2 :(得分:2)
这将有效
echo $var["'rule'"][0];
这是因为你正在使用
name="new_date['rule'][]"
HTML中的。相反,你应该使用
name="new_date[rule][]"
希望这能解决您的问题
如果var_dump()$ var,这将是输出:
array(2) {
["'rule'"]=>
array(1) {
[0]=>
string(9) "hfgfgfgfg"
}
["'date'"]=>
array(1) {
[0]=>
string(10) "2018-05-11"
}
}
答案 3 :(得分:1)
您可以尝试使用$var["'rule'"]