数组作为会话变量

2022-08-30 08:41:38

是否可以使数组成为PHP中的会话变量?

情况是我有一个表格(第1页),其中一些单元格具有指向特定页面的链接。下一页将有一个名称列表(第2页,我想将其保留在会话数组中)及其各自的复选框。提交此表单后,它将导致一个交易页面(第3页,其中已发布的复选框的值保存在数据库中以获取相应的名称)。现在,如果我返回到第一页并单击另一个单元格,会话数组将包含新名称列表还是旧名称列表?


答案 1

是的,PHP 支持数组作为会话变量。有关示例,请参阅此页面

至于你的第二个问题:一旦你设置了会话变量,它将保持不变,直到你改变它或取消设置它。因此,如果第 3 页未更改会话变量,它将保持不变,直到第 2 页再次更改它。


答案 2

是的,您可以将数组放在会话中,例如:

$_SESSION['name_here'] = $your_array;

现在,您可以在所需的任何页面上使用 ,但请确保在使用任何会话函数之前放置该行,因此您的代码应如下所示:$_SESSION['name_here']session_start()

 session_start();
 $_SESSION['name_here'] = $your_array;

可能的示例:

 session_start();
 $_SESSION['name_here'] = $_POST;

现在,您可以在任何页面上获取字段值,如下所示:

 echo $_SESSION['name_here']['field_name'];

至于问题的第二部分,会话变量将保留在那里,除非您分配不同的数组数据:

 $_SESSION['name_here'] = $your_array;

会话生存期设置为 php.ini 文件。

更多信息请点击这里