Php 能否在一个会话中存储多个阵列?

Php 能否在一个会话中存储多个阵列?,php,ajax,session,Php,Ajax,Session,能否将多个阵列推送到一个会话中 例如 array_push($_SESSION['mySession'], $array); 问题:当我将另一个数组推送到会话时,它将删除会话中的最后一个数组 我的情况是: 从数据库中获取特定项 $meubel = $_GET['meubel']; $sql = "SELECT * FROM mphp6_meubels WHERE naam LIKE '$meubel' "; $stm = $pdo->prepare($sql); $stm->ex

能否将多个阵列推送到一个会话中

例如

array_push($_SESSION['mySession'], $array);
问题:当我将另一个数组推送到会话时,它将删除会话中的最后一个数组

我的情况是:

从数据库中获取特定项

$meubel = $_GET['meubel'];

$sql = "SELECT * FROM mphp6_meubels WHERE naam LIKE '$meubel' ";
$stm = $pdo->prepare($sql);
$stm->execute();
如果其不存在,则创建新会话:

if(!isset($_SESSION['meubels'])){
    $_SESSION['meubels'] = array();
}
制作特定数组

    while($row = $stm->fetch()){
        $meubel = [
            'naam' => $row['naam'],
            'type' => $row['type'],
            'omschrijving' => $row['omschrijving'],
            'prijs' => $row['prijs'],
        ];
}
将其推送到会话

array_push($_SESSION['meubels'], $meubel);
单击按钮时,会发出ajax请求:

var url = 'test.php?meubel=' + meubel;
输出div中的会话

document.getElementById("div3").innerHTML = result;
如果需要所有ajax代码,请告诉我

示例:

当您购买座位时,将其添加到会话中。座位上有类似的属性:名称、描述和价格。因此,会话必须包含多个数组


您每次通过循环都要重新定义
$meubel
,因此只有一个数组。您想动态追加每一行
[]

while($row = $stm->fetch()){
    $meubel[] = [
        'naam' => $row['naam'],
        'type' => $row['type'],
        'omschrijving' => $row['omschrijving'],
        'prijs' => $row['prijs'],
    ];
}
然后您可能想要合并而不是推送,但不确定您想要的最终结果:

$_SESSION['meubels'] = array_merge($_SESSION['meubels'], $meubel);

您可以尝试
$\u SESSION['meubels']=array\u merge($\u SESSION['meubels'],$meubel)
我希望我的会话“meubels”具有多个数组“meubel”。您需要显示所需的结果数组的示例。我在问题中添加了一个示例。如果您不清楚,请告诉我。我相信二维数组被调用了。但是您的权利我重新定义了
$meubel
,每次我从数据库中获取特定行时,它都必须将其添加到会话数组中。