如何在PHP中向$_SESSION数组中添加新元素


How to add new elements to a $_SESSION array in PHP

我正在构建一个购物车,在我的任务中,我必须打印出客户购买的商品。我试图将项目存储在数组$_SESSION['items']中,但没有成功。我试过了:

$_SESSION['items'][] = $item;

但是它没有工作。

请给一些建议?

您使用session_start()了吗?您需要在使用$_SESSION之前声明session_start(),以便将值保存在会话变量中。

你也正在使用一个会话数组,所以使用print_r($_SESSION['items'])来查看它的输出,为了访问数组值,你也需要指定索引,例如

echo $_SESSION['items'][0]

使用session_start();来声明会话。并使用$_SESSION['items'][] = $item;

应该. .

要使用会话变量,您必须使用session_start();启动会话添加元素试试$_SESSION['items'][]=$items;,打印会话变量试试print_r($_SESSION['items'][]);或者

foreach ($_SESSION['items'][] as $item)
{
       echo $item;
}
$_SESSION['req_id_in_sess'] = array();
$_SESSION['req_id_in_sess'] = $req_id; //$req_id is array 

 foreach($_SESSION["req_id_in_sess"] as $key => $val)
    { 
        echo $val,"<br/>";
    }
//for single output 
echo  $_SESSION["req_id_in_sess"][0];

在我的例子中,我正在增加一些现有的基础$_SESSION变量。

例如,我最初只是设置:

$_SESSION['amount'] = 4300

然后我尝试添加一个显示'子变量':

$_SESSION['amount']['Display'] = $4,300.00.

但是我发现第二个操作覆盖了基变量的一部分。

解决方法是显式地做一些事情:

$_SESSION['amount']['Amount'] = 4300;
$_SESSION['amount']['Display'] = $4,300.00