カートクラスで、買い物かごの商品に応じて、合計金額を変えるという機能を作っているのですが、array_columnで特定のカラムを抽出して、その抽出した配列から合計を求めるという処理が失敗します。
というか、array_columnで1番目のカラムを指定しても、2番目のカラムも指定しても、返ってくる配列が同じです。
下記ソース
// カートクラス
46 class Cart
47 {
48 // 商品インスタンス保持用配列
49 private $products = array();
50 private $gokei = 0;
51 // 商品追加
52 public function addProduct($product)
53 {
54 $product->applyPriceDown();
55 $this->products[] = $product;
56 //var_dump($this->products);
57 $this-> products = array_column($this->products,0);
58 var_dump($this->products);
59 foreach($this->products as $val){
60 $this->gokei = $val;
61 }
62 echo('合計金額は'+$this->gokei+'円です。');
63 }
64 }
56行目のvar_dump($this->products);の結果
array(1) { [0]=> object(Vegetable)#1 (1) { ["price":"Vegetable":private]=> float(700) } } array(2) { [0]=> object(Vegetable)#1 (1) { ["price":"Vegetable":private]=> float(700) } [1]=> object(Meet)#2 (1) { ["price":"Meet":private]=> int(2000) } } array(3) { [0]=> object(Vegetable)#1 (1) { ["price":"Vegetable":private]=> float(700) } [1]=> object(Meet)#2 (1) { ["price":"Meet":private]=> int(2000) } [2]=> object(FreezedFood)#3 (1) { ["price":"FreezedFood":private]=> int(500) } }
priceの抽出方法を教えてください。よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。