有没有办法在$ _GET,$ _POST或$ _SESSION声明中使用多个变量?
例如:$_SESSION['session_array{$i}']
。
$i
是一个计数器变量,因此我保存的每个数组都有不同的名称。
我需要这个来保存$ _SESSION中的多个关联数组,如果还有另外一种方法可以做到这一点,这也会有所帮助。
答案 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'
对于提交帖子的表单,您可以将[]
添加到输入名称的末尾以将其放入数组中
<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'
与表单相同,您只需将[]
添加到变量名称即可,它可以作为数组进行访问。
如果您访问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>