【问题标题】:Get array from session, update it, then how to update session? [closed]从会话中获取数组,更新它,然后如何更新会话? [关闭]
【发布时间】:2014-12-30 21:07:28
【问题描述】:

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

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

// Later, another page...

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

这会输出hi mom!吗?

【问题讨论】:

  • “这会输出 hi mom!?” - 你告诉我们,是吗?
  • 我的问题与 foreach 无关。我也不在乎多少次嗨妈妈!是输出> @Arif_suhail_123 你是什么意思我正在创建另一个会话值?
  • 您的问题实际上是关于foreach。查看手册中的内容并使用参考资料。

标签: php arrays session pass-by-reference pass-by-value


【解决方案1】:

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

试试这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2017-01-07
    相关资源
    最近更新 更多