如何在php中的会话变量中推送数组键和值?

时间:2012-11-26 15:48:09

标签: php arrays session

这是一个例子(请不要考虑下面的例子,它不是我程序的一部分)

array( 'agur' => 100,
       'agur' => 300,
       'babu' => 200 ); 

上面的数组值我想一次一个接一个地插入一个SESSION变量。

问题不是我要插入的上述示例数组。实际的脚本就像每次当我点击链接时,我想要插入到SESSION数组中的查询字符串中的值。

我尝试过以下代码,这对我没有帮助!

if( !isset( $_SESSION['allmarks'] ) )
{
    $_SESSION['allmarks'] = array();
}
$name = $_GET['name']; //eg. agur
$mark = $_GET['mark']; //eg. 100

$_SESSION['allmarks'] ["$name"] = $mark;

输出im get只是插入的最后一个值

'agur' => 300

我也试过了array_push,但它对我没有帮助!

我想要var_dumb SESSION['allmarks']

时的结果如下所示
'agur' => 100
'agur' => 300
'babu' => 200

3 个答案:

答案 0 :(得分:1)

您需要使用foreach并循环播放数组

  $arr  = array( 'agur' => 100,  'agur' => 300,   'babu' => 200 ); 
  if( !isset( $_SESSION['allmarks'] ) )
  {
    $_SESSION['allmarks'] = array();
    foreach($arr as $k => $v)
     $_SESSION['allmarks'][$k] = $v; 
   }

答案 1 :(得分:0)

使用foreach()遍历数组

答案 2 :(得分:0)

如果您只想将会话密钥设置为此数组,则无需循环。

另外,不要忘记session_start()(常见错误)。

$array = array( 'agur' => 100,
       'agur' => 300,
       'babu' => 200 ); 

session_start();
$_SESSION['allmarks'] = $array;