我有一个foreach
循环,用于输出数组中保存的项目。这很好用,但我想在会话变量中为每个EACH项存储一些内容,以便在其他地方提供信息。我试图在foreach
循环中创建会话变量,但当然每次循环不同的项目时变量都需要有不同的数据。
假设我有产品数据:Name
,Image
,Price
以及带链接的按钮。在这种情况下,按钮链接将存储在foreach
循环内的会话变量中,因为此链接应该在其他地方使用。当我单击按钮时,该特定产品的特定链接存储在会话变量中。当我从一个页面重定向到另一个页面时,我使用该链接,该链接使用会话概念在会话变量中。
但是,当我从一个页面重定向到另一个页面并回显会话变量(产品链接)时,它只回显最后一个值(最后一个产品链接)。假设我有五个项目,他们有五个不同的产品链接。当会话变量在重定向上回显时,PHP页面将仅采用foreach
循环的最后一个值。相反,它需要特定的产品链接。
答案 0 :(得分:1)
$ _ SESSION可以是任何正确的php类型,例如。
因此,您只需使用数据填充数组,然后设置$_SESSION['data'] = $array;
。这就是全部。在对该用户的任何后续请求中,数据将在那里并且可以像$ _POST,$ _GET等那样访问。
每次设置该变量 - 以前的值都将丢失,如果您没有做任何事情将它们保存在别处。