1. [代码][PHP]代码
<?php class Cart{ static protected $ins; //实例变量 protected $item = array(); //放商品容器 //禁止外部调用 final protected function __construct(){ } //禁止克隆 final protected function __clone(){ } //类内部实例化 static protected function Getins(){ if(!(self::$ins instanceof self)){ self::$ins = new self(); } return self::$ins; } //为了能使商品跨页面保存,把对象放入session里 public function Getcat(){ if(!($_SESSION['cat']) || !($_SESSION['cat'] instanceof self)){ $_SESSION['cat'] = self::Getins(); } return $_SESSION['cat']; } //入列时的检验,是否在$item里存在. public function Initem($goods_id){ if($this->Gettype() == 0){ return false; } if(!(array_key_exists($goods_id,$this->item))){ return false; }else{ return $this->item[$goods_id]['num']; //返回此商品个数 } } //添加一个商品 public function Additem($goods_id,$name,$num,$price){ if($this->Initem($goods_id) != false){ $this->item[$goods_id]['num'] += $num; return; } $this->item[$goods_id] = array(); //一个商品为一个数组 $this->item[$goods_id]['num'] = $num; //这一个商品的购买数量 $this->item[$goods_id]['name'] = $name; //商品名字 $this->item[$goods_id]['price'] = $price; //商品单价 } //减少一个商品 public function Reduceitem($goods_id,$num){ if($this->Initem($goods_id) == false){ return; } if($num > $this->Getunm($goods_id)){ unset($this->item[$goods_id]); }else{ $this->item[$goods_id]['num'] -=$num; } } //去掉一个商品 public function Delitem($goods_id){ if($this->Initem($goods_id)){ unset($this->item[$goods_id]); } } //返回购买商品列表 public function Itemlist(){ return $this->item; } //一共有多少种商品 public function Gettype(){ return count($this->item); } //获得一种商品的总个数 public function Getunm($goods_id){ return $this->item[$goods_id]['num']; } // 查询购物车中有多少个商品 public function Getnumber(){ $num = 0; if($this->Gettype() == 0){ return 0; } foreach($this->item as $k=>$v){ $num += $v['num']; } return $num; } //计算总价格 public function Getprice(){ $price = 0; if($this->Gettype() == 0){ return 0; } foreach($this->item as $k=>$v){ $price += $v['num']*$v['num']; } return $price; } //清空购物车 public function Emptyitem(){ $this->item = array(); } } /* 自己测试代码也拿出来 */ ?php include_once('Cart.php'); $cart = Cart::Getcat(); $cart->Additem('1','谍匪','5','9999'); print_r($cart);
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1 か月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
1 か月前By尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前ByDDD
Will R.E.P.O.クロスプレイがありますか?
1 か月前By尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
