【问题标题】:PHP, Associative arrays with sessions [duplicate]PHP,带有会话的关联数组[重复]
【发布时间】:2015-12-30 05:43:14
【问题描述】:

我只是在这里寻找正确方向的推动力。我正在尝试使用会话创建关联数组。目的是当用户将商品添加到购物车时,商品和数量会添加到数组中。我在第 13 行收到“解析错误:语法错误,意外的 T_DOUBLE_ARROW”错误。我想我只是搞错了。

<?php
$action = $_GET['action'];
$itemID = $_GET['itemID'];
$qty = $_GET['quantity'];
$msg;
if (!isset($_SESSION['cart'])) {
    $_SESSION['cart']['itemID'] = ('123' => 0, '456' => 0, '589' => 0, '101' => 0);
}
$cart = $_SESSION['cart'];
if ($action == 'add') {
/*  if (!in_array($cart, $itemID) {  // Add item to array
        $cart[$itemID]
        //array_push($cart, $itemID => $qty);
    }
    else { // Increase quantity */
        $_SESSION['cart'][$itemID] = $q;
        $v = $q + $qty;
        $_SESSION['cart'][$itemID] = $v;
//  }
    $msg = $qty.' of item # '.$itemID.' has been added to your cart.';
}
else { // remove from cart
    unset($_SESSION['cart'][$itemID]);
    $msg = $qty.' of item # '.$itemID.' has been removed to your cart.';
}
echo $msg; ?>

创建时第一个 if(!isset($SESSION['cart']) 语句发生错误。

我在启用 array_push 时也遇到了错误,但我不记得它是什么。

基本上功能是这样的 - 当用户将商品添加到购物车时创建 SESSION 数组(此时总是数量为一个)。添加项目时,将项目编号和数量添加到数组中。添加另一个项目,它被添加。添加相同的项目,数量增加一。删除一个项目..等等。

希望你能理解。我已经写好了骨头,正处于测试/故障排除阶段。正如我所说,我认为我创建的数组是错误的。我想创建空数组并根据需要添加项目,但我尝试了几种不同的方法来至少让它工作,上面显示的是最新的。同样,显然接近 SESSION 关联数组都是错误的。

任何建议将不胜感激!提前谢谢你。

【问题讨论】:

标签: php arrays session associative


【解决方案1】:

看起来你在第 7 行有错误,将其更改为

$_SESSION['cart']['itemID'] = array('123' => 0, '456' => 0, '589' => 0, '101' => 0);

您还可以查看如何定义array

【讨论】:

    【解决方案2】:

    你错过了Array

    if (!isset($_SESSION['cart'])) {
        $_SESSION['cart']['itemID'] = Array('123' => 0, '456' => 0, '589' => 0, '101' => 0);
    }
    

    【讨论】:

    • 迭戈、洛奇和怪胎——谢谢大家!!我知道我错过了一些简单的东西。这使我克服了错误,因此我可以继续进行调试。 :-/
    猜你喜欢
    • 2017-10-26
    • 2021-09-09
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 2012-05-19
    • 2019-09-11
    • 2017-03-16
    相关资源
    最近更新 更多