<?php
返回的数据形式如下
Array
(
[汽车] => Array
(
[三菱] => 20
[本田] => 500
)
[蛋] => Array
(
[鸡蛋] => 20
[鸭蛋] => 20
)
}
######################################################################################*/
class ShopCar{
var $carName;
var $debug;
/**
@desc 新建一辆购物车.指定购物车名,如果有,将返回原来的购物车
@param String $carName
@param Boolean $get
@return void
*/
function ShopCar($carName){
$this->carName=$carName;
if (!isset($_SESSION[$carName])){
$_SESSION[$carName]=array();
}
}
/**
@desc 向购物车内增加一件商品,类型,商品名,数量,插入成功返回真,否则返回假
@param String $type
@param String $name
@param String $val
@return bool
*/
function addCar($type,$name,$val){
if(array_key_exists($type,$_SESSION[$this->carName])){//总类别是否存在..如 汽车 有
if (array_key_exists($name,$_SESSION[$this->carName][$type])){//分类别是否存在 如 三菱 有
if ($this->debug)echo "<br/>已有{$name}商品,不必增加<br/>";
return false;
}else {
$_SESSION[$this->carName][$type][$name]=$val;
}
}else {
$_SESSION[$this->carName][$type]=array($name=>$val);
}
return true;
}
/**
@desc 编辑商品
@param string $type
@param string $name
@param string $var
@return bool
*/
function editCar($type,$name,$var){
if (!array_key_exists($name,$_SESSION[$this->carName][$type])){
if ($this->debug)echo "<BR>没有{$name}商品,修改失败<br/>";
return false;
}
$_SESSION[$this->carName][$type][$name]=$var;
return true;
}
/**
@desc 删除类别
@param string $type
@return bool
*/
function delCarType($type){
if (!array_key_exists($type,$_SESSION[$this->carName])){
if ($this->debug)echo "<br/>没有{$type}类别,删除失败<br/>";
return false;
}
unset($_SESSION[$this->carName][$type]);
return true;
}
/**
@desc 删除商品
@param string $type
@param string $name
@return bool
*/
function delCarPro($type,$name){
if (!array_key_exists($name,$_SESSION[$this->carName][$type])){
if ($this->debug)echo "<br/>没有{$name}商品,删除失败<br/>";
return false;
}
unset($_SESSION[$this->carName][$type][$name]);
return true;
}
/**
@desc 删除此购物车
@return bool
*/
function delCar(){
session_unregister($this->carName);
}
/**
@desc 获得购物车数据
@return array[array[]]
*/
function getCarData(){
return $_SESSION[$this->carName];
}
}
?>