说我在MySQL中有下表
No. Item price code
1 apple 12.00 001
2 pear 10.00 002
3 orange 9.00 003
4 grape 15.00 004
我使用PHP some_page.php
启动会话并运行查询SQL,然后存储为$_SESSION['A']
,其中包含以下数组:
1 apple 12.00 001
2 pear 10.00 002
(此$_SESSION['A']
是临时的,每次对mySQL进行新查询时都会取消设置
现在,在$_SESSION['A']
未设置之前,是否可以从$SESSION['A']
中选择要存储到名为some_page.php
的同一$SESSION['B']
上的另一个会话的数组?使用数组:
2 pear 10.00 002
($_SESSION['B']
持续时间更长)
我的逻辑是,我尝试不再运行SQL只是为了获得已经从$_SESSION['A']
获得的数组。
答案 0 :(得分:0)
我可能会误解这个问题,但
$ _ SESSION只是一个关联数组: http://php.net/manual/en/reserved.variables.session.php
所以你可以$_SESSION['B'] = $_SESSION['A']
将数组从'A'复制到'B'。然后随意取消'A'。
编辑:
如果您只想要部分$ _SESSION ['A']数组,那么您可以通过像$_SESSION['A'][0]
之类的索引访问它。根据数组的格式,您可能需要解析它才能获得所需的元素。
答案 1 :(得分:0)
如果要将B只保存到B中,可以复制整个数组,然后取消设置所需的索引。 或者您可以在A上使用foreach,检查仅匹配您的内容的条件,然后将内容放入B. 或者直接将内容保存到B而不通过A. 或者只保存到A中,然后将A复制到B。
_SESSION是一个关联数组,您可以根据需要对其进行操作。
要取消设置数组的元素,您可以使用unset($array[$index])
$index
可以是INT
或STRING
,它取决于您。