如何在PHP中使用某些POST数组变量?

时间:2014-04-02 06:37:35

标签: php arrays

<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]']无效。

在这种情况下可以使用什么逻辑?

6 个答案:

答案 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;
}