use*_*312 5 php arrays session
几天来我遇到了令人困惑的问题。我在会话数组中存储了一个包含 10 - 50 个元素的数组。
$_SESSION['my_array'] = erg_array;
Run Code Online (Sandbox Code Playgroud)
然后我将表单提交到另一个页面。在新页面上,我读取了数组,数组中只剩下几个元素。有时数组中有 2 或 3 或 4 个元素。
如果我查看服务器上的会话文件,文件中的数组不完整。在我的页面末尾,我检查了数组
print_r($_SESSION['my_array']);
Run Code Online (Sandbox Code Playgroud)
并且将打印 50 个元素。那是最后一行代码。在我的会话服务器文件中只存储了 3 个元素。
有人知道在哪里看吗?
编辑:
如果我像这样序列化我的数组
$_SESSION['my_array_string'] = base64_encode(serialize($_SESSION['my_array'));
Run Code Online (Sandbox Code Playgroud)
和另一个脚本
$_SESSION['my_array'] = unserialize(base64_decode($_SESSION['my_array_string']));
Run Code Online (Sandbox Code Playgroud)
数组是完整的?
小智 0
我建议您在序列化之前将 $_SESSION['my_array'] 数组存储在变量中。像这样...
$array[] = $_SESSION['my_array']; 这里数组存储在数组变量中,现在将该数组序列化到新会话。
$_SESSION['my_array_string'] = base64_encode(serialize($array[]));
这可能会解决您的问题。
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |