【发布时间】:2012-11-03 05:42:08
【问题描述】:
我正在使用此代码输出所有注册的会话变量 -
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
exit();
这就是我得到的
Array
(
[language] => english
[navigation] => navigationHistory Object
(
[path] => Array
(
[0] => Array
(
[get] => Array
(
)
[post] => Array
(
)
)
[1] => Array
(
[get] => Array
(
)
[post] => Array
(
[cart_number] => XXXXXXXXXXXX
[x] => 62
)
)
)
)
)
我想将会话数组中的 cart_number 变量从 XXXXXXXX... 更新为 555555。我试过了
$_SESSION['navigation']->path[1]['post']['cart_number'] = 5555555
这可行,但问题是,cart_number 变量并不总是在 [1] => 数组。它可以在 [2] 或 [3] 或其他任何地方。
所以我的问题是,我是否可以通过会话数组搜索该特定变量并使用正确的值对其进行更新?谢谢。
【问题讨论】:
-
我很难理解为什么你会这样做。如果购物车编号是您需要在会话中保留的重要值,为什么不在需要更新时将其设置为
$_SESSION['cart_number']。尝试对导航历史进行大量解析以更改此值似乎很奇怪。 -
嗨@MikeBrant,我正在处理一个购物车,它使用这个逻辑来做所有事情,数组比这个长得多,我把它去掉只是为了说明一点。因此,改变函数的行为方式比仅仅搜索和更新更加复杂和耗时。无论如何,谢谢。
标签: php arrays session variables