【发布时间】: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 关联数组都是错误的。
任何建议将不胜感激!提前谢谢你。
【问题讨论】:
-
不要忘记在脚本开头使用 session_start()。 php.net/manual/en/function.session-start.php
-
并使用方括号打开和关闭数组:["foo"=>"bar", "A"=> "a"]
标签: php arrays session associative