-1

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

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

我想将上述数组值一次一个地插入到 SESSION 变量中。

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

我试过下面的代码这对我没有帮助!

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

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

我得到的输出只是插入的最后一个值

'agur' => 300

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

当我 var_dumb 时,我想要下面的结果SESSION['allmarks']

'agur' => 100
'agur' => 300
'babu' => 200
4

3 回答 3

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; 
   }
于 2012-11-26T15:51:45.580 回答
0

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

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

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

session_start();
$_SESSION['allmarks'] = $array;
于 2012-11-26T15:52:46.237 回答
0

使用 foreach() 遍历数组

于 2012-11-26T15:51:06.857 回答