有没有办法在$ _GET,$ _POST或$ _SESSION声明中使用多个变量?

时间:2012-01-25 18:40:44

标签: php session

有没有办法在$ _GET,$ _POST或$ _SESSION声明中使用多个变量?

例如:$_SESSION['session_array{$i}']

$i是一个计数器变量,因此我保存的每个数组都有不同的名称。

我需要这个来保存$ _SESSION中的多个关联数组,如果还有另外一种方法可以做到这一点,这也会有所帮助。

5 个答案:

答案 0 :(得分:5)

可以(分别为$_POST, $_GET, $_SESSION, $_REQUEST

$_SESSION["session_array{$i}"]

但是,你可能正在寻找,或者应该做

$_SESSION['session_array'][$i]

此外,在尝试使用会话变量之前,请不要忘记使用session_start()

答案 1 :(得分:2)

所有这些都支持多维数组。

即:

$_SESSION['fruit']['apple']['green']; 
$_GET['country_list']['US'];

或变量:

$_GET['count'][$i];

答案 2 :(得分:1)

你可以在$_SESSION中存储一个数组(不推荐在其他数组中使用它):

$session_array = array();
$session_array[$i] = 'some value';
$_SESSION['session_array'] = $session_array;

http://www.phpriot.com/articles/intro-php-sessions/7看起来像是一个很好的介绍。

答案 3 :(得分:1)

会话:

对于会话,你可以这样做:

$_SESSION['key']=array('one','two','three');
echo $_SESSION['key'][1] // echos 'two'

POST:

对于提交帖子的表单,您可以将[]添加到输入名称的末尾以将其放入数组中

<form method="POST" action='/' >
    <input name='arr[]' type="text" value="a">
    <input name='arr[]' type="text" value="b">
    <input name='arr[]' type="text" value="c">
</form>

可以访问:

echo $_POST['arr'][0] // echos 'a'

GET:

与表单相同,您只需将[]添加到变量名称即可,它可以作为数组进行访问。

如果您访问www.yoursite.com/index.php?test[]=a&test[]=b

你可以这样做:

echo $_GET['test'][1] // echos 'b'

答案 4 :(得分:0)

为什么不让数组多维:

$_SESSION['session_array'][$i]

关于$_GET$_POST超级全局:您不希望手动存储内容,而是通过get或post请求存储。所以这不是真正的问题恕我直言。

使用输入形式时,仍然可以拥有多维$_POST超全局:

<form method="post" action="">
  <input type="text" name="name[]">
  <input type="text" name="name[]">
</form>