如何通过键获取数组值

时间:2018-05-18 07:33:12

标签: php arrays

我在通过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

4 个答案:

答案 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'"]