如何使用php实现保存周期为1天的购物车类

  介绍

如何使用php实现保存周期为1天的购物车类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

购物车类饼干保存,保存周期为1天注意:浏览器必须支持饼干才能够使用

示例代码:

& lt; php ?/* *   *购物车类饼干保存,保存周期为1天注意:浏览器必须支持饼干才能够使用   */类CartAPI {   私人数组$ CartArray=();//存放购物车的二维数组   私人CartCount美元;//统计购物车数量   公共到期美元=86400;//饼干过期时间,如果为0则不保存到本地单位为秒/* *   *构造函数初始化操作如果$ Id不为空,则直接添加到购物车   *   */公共函数__construct ($ Id=啊? $ Name=啊? $ Price1=啊? $ Price2=啊? $ Price3=啊? $ Count=啊? $图像=啊?到期=86400美元){   if ($ Id !=?“,,is_numeric ($ Id)) {   这→美元=$到期期限届满;   $ this→addCart (Id、名称、美元Price1美元,美元Price2, Price3美元,美元,美元图片);   }   }/* *   *添加商品到购物车   *   * @param int $ Id商品的编的号   * @param字符串$名商品名称   * @param十进制美元Price1商品价格   * @param十进制美元Price2商品价格   * @param十进制美元Price3商品价格   * @param int数美元的商品数量   * @param字符串$形象商品图片   * @return如果商品存在,则在原来的数量上加1,并返回错误的   */公共函数addCart (Id、名称、美元Price1美元,美元Price2, Price3美元,美元计算,图像美元){   $ this→CartArray=$这→CartView ();//把数据读取并写入数组   if ($ this→checkItem ($ Id)){//检测商品是否存在   $ this→ModifyCart (Id、数美元,0);//商品数量加数美元   返回错误;   }   $ this→CartArray [0] [$ Id]=$ Id;   $ this→CartArray [1] [$ Id]=$名称;   $ this→CartArray [2] [$ Id]=$ Price1;   $ this→CartArray [3] [$ Id]=$ Price2;   $ this→CartArray [4] [$ Id]=$ Price3;   $ this→CartArray [5] [$ Id]=$计数;   $ this→CartArray [6] [$ Id]=$形象;   $ this→保存();   }/* *   *修改购物车里的商品   *   * @param int $ Id商品编的号   * @param int数美元的商品数量   * @param int美元国旗修改类型0:加1:减2:修改3:清空   * @return如果修改失败,则返回错误的   */公共函数ModifyCart (Id、数美元,美元标志=啊?{   $ tmpId=$ Id;   $ this→CartArray=$这→CartView ();//把数据读取并写入数组   tmpArray=,这→美元CartArray;//引用   如果(! is_array ($ tmpArray[0]))返回false;   如果($ Id & lt;1){   返回错误;   }   foreach ($ tmpArray[0]美元项目){   如果(项目===tmpId美元){   开关(美元标志){   例0://添加数量一般计数为1美元   美元tmpArray [5] [$ Id] +=$计数;   打破;   案例1://减少数量   美元tmpArray [5] [$ Id] -=美元计数;   打破;   案例2://修改数量   如果($ Count==0) {   设置($ tmpArray [0] [$ Id]);   设置($ tmpArray [1] [$ Id]);   设置($ tmpArray [2] [$ Id]);   设置($ tmpArray [3] [$ Id]);   设置($ tmpArray [4] [$ Id]);   设置($ tmpArray [5] [$ Id]);   设置($ tmpArray [6] [$ Id]);   打破;   其他}{   美元tmpArray [5] [$ Id]=$计数;   打破;   }   案例3://清空商品   设置($ tmpArray [0] [$ Id]);   设置($ tmpArray [1] [$ Id]);   设置($ tmpArray [2] [$ Id]);   设置($ tmpArray [3] [$ Id]);   设置($ tmpArray [4] [$ Id]);   设置($ tmpArray [5] [$ Id]);   设置($ tmpArray [6] [$ Id]);   打破;   默认值:   打破;   }   }   }   $ this→保存();   }/* *   *清空购物车   *   */公共函数RemoveAll () {   $ this→CartArray=array ();   $ this→保存();   }/* *   *查看购物车信息   *   * @return数组返回一个二维数组   */公共函数CartView () {   (饼干=stripslashes美元_COOKIE [& # 39; CartAPI& # 39;]);   如果(! $ cookie)返回false;   美元$ tmpUnSerialize=unserialize(饼干);   返回tmpUnSerialize美元;   }/* *   *检查购物车是否有商品   *   * @return bool如果有商品,返回真,否则假   */公共函数checkCart () {   tmpArray=这→美元CartView ();   如果(count ($ tmpArray [0]) & lt;1){   返回错误;   }   返回true;   }/* *   *商品统计   *   * @return数组返回一个一维数组arr美元[0]:产品1的总价格$ arr[1:产品2得总价格$ arr[2]:产品3的总价格$ arr[3]:产品的总数量   */公共函数CountPrice () {   tmpArray=这→美元CartArray=$这→CartView ();   数组$ outArray=();//一维数组//0是产品1的总价格//1是产品2的总价格//2是产品3的总价格//3是产品的总数量   $ i=0;   如果(is_array ($ tmpArray [0])) {   foreach ($ tmpArray[0]美元关键=祝辞val美元){   美元outArray [0] +=$ tmpArray [2] [$ key] *美元tmpArray [5] [$ key];   美元outArray [1] +=$ tmpArray [3] [$ key] *美元tmpArray [5] [$ key];   美元outArray [2] +=$ tmpArray [4] [$ key] *美元tmpArray [5] [$ key];   美元outArray [3] +=$ tmpArray [5] [$ key];   美元我+ +;   }   }   返回outArray美元;   }/* *   *统计商品数量   *   * @return int   */公共函数CartCount () {   tmpArray=这→美元CartView ();   $ tmpCount=count ($ tmpArray [0]);   $ this→CartCount=$ tmpCount;   返回tmpCount美元;   }/* *   *保存商品如果不使用构造方法,此方法必须使用   *   */公共函数保存(){   tmpArray=这→美元CartArray;   $ tmpSerialize=序列化($ tmpArray);   setcookie (“CartAPI" tmpSerialize美元,时间()+ $ this→到期);   }/* *   *检查购物车商品是否存在   *   * @param int $ Id   * @return bool如果存在真实否则假   */私有函数checkItem ($ Id) {   tmpArray=这→美元CartArray;   如果(! is_array ($ tmpArray[0]))返回;   foreach ($ tmpArray[0]美元项目){   if ($ item===$ Id)返回true;   }   返回错误;   }   }   ?在

如何使用php实现保存周期为1天的购物车类