<?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];
}
}
?>