Php 如何在不创建嵌套数组的情况下向数组中添加多个变量
我遇到了一个比我想象的更难解决的问题。还没有找到一个能让我到达我需要的地方的答案。 目标是将内容添加到会话变量的列表中,该变量的工作方式类似于购物车。基本上,有人会向列表中添加一个项目,然后添加其他项目,每个项目都会添加到一个数组中。但是在使用了各种方法之后,我仍然没有得到我所需要的 下面是用户故事Php 如何在不创建嵌套数组的情况下向数组中添加多个变量,php,arrays,session,Php,Arrays,Session,我遇到了一个比我想象的更难解决的问题。还没有找到一个能让我到达我需要的地方的答案。 目标是将内容添加到会话变量的列表中,该变量的工作方式类似于购物车。基本上,有人会向列表中添加一个项目,然后添加其他项目,每个项目都会添加到一个数组中。但是在使用了各种方法之后,我仍然没有得到我所需要的 下面是用户故事 用户单击以将项目添加到列表中 已创建会话变量-项目ID已添加到会话变量 用户添加附加项 添加到会话变量会话的项现在是一个数组 步骤3和4根据用户需要重复多次 这一切都需要进入一个单一的平面阵列没有嵌
//Request Item From Post
$itemsadded=$_请求['pPageItemID'];
$currentItems=$\会话['ITEM\u ID']
//如果已设置会话,则将其更改为数组以添加多个ID
如果(isset($\u会话['ITEM\u id'])){
}
//检查会话是否已设置(如果不是创建会话变量并添加产品ID)
if(为空($\u会话['ITEM\u id'])){
}我想出来了。我的问题是假设PHP将单个变量理解为带有单个变量的数组。我错了 一个简单的修复-我只需要在合并期间将其定义为数组。将代码更新到下面,它工作得很好
$newItems = array_merge((array)$currentItems, (array)$itemAdded);
//Check to see if this is acutally a form post and then set session
if (isset($_REQUEST['pPageItemID'])){
$_SESSION['ITEM_IDS'] = $itemAdded;
}
$newItems = array_merge((array)$currentItems, (array)$itemAdded);