因为需求中只记录产品的类型,还有编号..比如食物,,然后什么编号,,这样子.所以没有记录产品的数量..要用的自己改进一下就行了.
1. [代码][PHP]代码
<?php //setcookie("cart","s:26,45,4,4523423|d:17,7,27,26|e:12,13,123,43|f:34"); //cartAdd('e','167'); //getProInfo('z'); //delProInfo('f','26'); /** * *********** * 用于记录,修改,删除COOKIE的类,用于我的计划的本地信息的更改 * LIQUAN */ class cart { /* 实现COOKIES购物车 @type 产品类型 @id 产品编号 COOKIES的结果为 type1:3,45,23|type2:34,234,34|type3:344,124 */ function cartAdd(type,id) { //如果第一次使用,则重新设置COOKIES if(!isset(_COOKIE["cart"])) { setcookie("cart",type.":".id); } else { //如果不是第一次,则先取出来 cartStr=_COOKIE["cart"]; //把结果分开 cartarray=split("\|",cartStr); //用于判断类型是否存在,初始不存在,为零 istype=0; //产品编号列表 id_list; //循环产品 for (i=0;i { //获取产品名和产品编号列表 list(carttype,product)=split(":",cartarray); //如果已经存在的产品与要保存的相如,把isType改为1,说明产品已经存在 if (type==carttype) { istype=1; //获取产品的编号列表 id_list=product; //中断循环 break ; } } //如果产品不存在 if(istype==0) { //往COOKIES里面加入新产品和产品的编吃 cartStr=cartStr."|".type.":".id; } else { //把产品列表分开成数组 id_list=split("\,",id_list); //标识产口编号是否存在,初始不存在 isId=0; //循环产品编号 for(i=0;i { //如果要保存的产品编号已尼存在 if(id==id_list) { //标识已存在.退出循环 isId=1; break; } } //这里只做产品类型和产品编号,所以相同的不加数量,直接不外理 //如果相关类型的产品编号不存在,则加上新的编号 if(isId!=1) { cartStr=str_replace(type.":",type.":".id.",",cartStr); //cartStr=str_replace('d:','d:2,',cartStr); } } setcookie("cart",cartStr); print_r(_COOKIE["cart"]); //setcookie("cart","",time()-100); } return ; } //返回相应的产品列表 /* @type产品类型 */ function getProInfo(type) { //获取购物车COOKIES cartStr=_COOKIE["cart"]; //匹配COOKIES字符,获取产品列表 preg_str=type."(\d+),)*(\d+)"; //echo " "; preg_match("/".preg_str."/",cartStr,proStr); //echo proStr[0]; //exit(); list(protype,product)=split(":",proStr[0]); return product; //pro_list=split(",",product); //返回产品列表 //return pro_list; // print_r(pro_list); } /* *删除产品 *@type产品类型名 *@id 产品编号 */ function delProInfo(type,id) { //获取购物车COOKIES cartStr=_COOKIE["cart"]; //匹配COOKIES字符,获取产品列表 preg_str=type."(\d+),)*(\d+)"; //echo " "; preg_match("/".preg_str."/i",cartStr,proStr); //只有能找到要删除的类型,才进行下面操做 if(proStr) { //查询删除的类型里面是否有要删除的ID isproId=strstr(proStr[0],id); //如果有,才进行下面操作 if(isproId) { //更新后的产品字符串 upproStr; //更新后的所有最新的产品COOKIES字符 newCartStr; //查询要删除的产品是否有多个 preg_match("/,/",proStr[0],isend); //如果有,进行下面操作 if(isend) { //查询要删除的产品后面是否还有产品 preg_match("/".id.",/",proStr[0],isdot); //如果有,删除后面的逗号 if(isdot) { upproStr=str_replace(id.",","",proStr[0]); } //如果没有,删除前面的逗号 else { upproStr=str_replace(",".id,"",proStr[0]); } //更新要插入COOKIES里面的字符串 newCartStr=str_replace(proStr[0],upproStr,cartStr); } //如果没有多个,则直接删除该类产品 else { //判断该类产品后面还有没有产品 preg_match("/".proStr[0]."\|/",cartStr,issu); //如果有,则删除后面的分格符 if(issu) { newCartStr=str_replace(proStr[0]."|","",cartStr); } //如果没有,则删除前面的分格符 else { newCartStr=str_replace("|".proStr[0],"",cartStr); } } setcookie("cart",newCartStr); } } } function deletecart() { setcookie("cart","",time()-100); } } ?>

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具