<input type='hidden' name='var[name1]' value='1'>
<input type='hidden' name='var[name2]' value='1'>
<input type='hidden' name='var[name3]' value='1'>
<input type='hidden' name='var[name4]' value='1'>
<input type='hidden' name='var[name5]' value='1'>
现在,如果我需要获取所有这些值,我可以使用foreach
使用$_POST['var']
。
在某些情况下,我只需要获得其中一些输入,例如&#39; name2&#39;和&#39; name5&#39;并且$_POST['var[name2]']
和$_POST['var[name5]']
无效。
在这种情况下可以使用什么逻辑?
答案 0 :(得分:3)
PHP对postvar名称中的方括号进行了特殊处理:它将它们转换为关联数组。
您可以像这样访问它们:
$name1 = $_POST['var']['name1']
请参阅有关php.net上文档的评论:http://www.php.net/manual/en/reserved.variables.post.php
答案 1 :(得分:3)
因为$_POST
是一个数组而$_POST['var']
是另一个数组,所以你必须以这种方式访问它:
$_POST['var']['name1']
答案 2 :(得分:2)
如果使用方括号,变量将转换为数组,因此请按以下方式进行:
$_POST['var']['name2']
$_POST['var']['name5']
答案 3 :(得分:1)
试试这个 -
echo 'Value1 = '.$_POST["var"]["name1"];
echo 'Value2 = '.$_POST["var"]["name2"];
echo 'Value3 = '.$_POST["var"]["name3"];
echo 'Value4 = '.$_POST["var"]["name4"];
echo 'Value5 = '.$_POST["var"]["name5"];
答案 4 :(得分:1)
你打印$ _POST,你会看到这个数组。
Array
(
[var] => Array
(
[name1] => 1
[name2] => 1
[name3] => 1
[name4] => 1
[name5] => 1
)
)
echo $_POST['var']['name2'];
echo $_POST['var']['name5'];
答案 5 :(得分:0)
当你这样做时,结构变为:
array (
'var' =>
array (
'name1' => '1'
'name2' => '2'
'name3' => '3'
'name4' => '4'
'name5' => '5'
)
)
所以$_POST
是一个内部数组var
的数组,由多个关联索引组成。因此,您需要以$_POST['val']['name1']
要一次获取所有var
值,您可以将其循环为:
foreach($_POST['var'] as $val)
{
echo $val;
}