从会话中获取数组,更新它,然后如何更新会话?[已结束]

Get array from session, update it, then how to update session? [closed]

提问人:Pepster K. 提问时间:11/4/2014 更新时间:11/4/2014 访问量:36

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

9年前关闭。

我的直觉告诉我,此代码不会更新会话中的数组。这是对的吗?

foreach ($_SESSION['accts'] as $acctId => $acct)
  $acct['someNewKey'] = 'hi mom!';

// Later, another page...

foreach ($_SESSION['accts'] as $acct)
  echo $acct['someNewKey'];

这会输出嗨妈妈吗!

PHP 数组会话 按引用传递

评论

2赞 Funk Forty Niner 11/4/2014
“这个输出会吗嗨妈妈!?”- 你告诉我们,是吗?
0赞 deceze 11/4/2014
php.net/manual/en/control-structures.foreach.php
0赞 Pepster K. 11/4/2014
我的问题不是关于foreach。我也不在乎多少次嗨妈妈!是输出> @Arif_suhail_123你的意思是我正在创建另一个会话值?
0赞 deceze 11/4/2014
的问题实际上是关于.看看手册是怎么说的,并使用参考资料。foreach

答:

1赞 Sherif 11/4/2014 #1

不,这不会更新您的会话数据,因为您在此处修改的是数组的副本。

试试这个

foreach($_SESSION['accts'] as $key => $value) {
    $_SESSION['accts'][$key]['someNewKey'] = 'hi mom!';
}