如何通过键获取数组值

3

我在遍历由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......

请帮忙。谢谢您的帮助。

2
尝试使用 $var["'rule'"] - Chetan Ameta
是的,它正在工作@ChetanAmeta...谢谢...请将其作为答案回答,我会接受它作为答案 :) - Tracy
谢谢 :),我把我的答案放在这里。 - Chetan Ameta
4个回答

4
你可以尝试这个。
<input type="hidden" name="new_date[rule][]" value="hfgfgfgfg">
<input type="date" name="new_date[date][]" />

4
在HTML中,您使用了键为'rule'new_date['rule'][],因此在通过POST检索时,需要使用相同的键,即使用单引号。
请使用以下代码:
var_dump($var["'rule'"])

要使用:$var ['rule'] ,您可能需要在HTML中使用 new_date [rule] [] 。

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"
  }
}

1
你可以尝试使用 $var["'rule'"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接