CODEIGNITERカートクラスを使用しています。以下はVAR_DUMP
カートの内容です。オプションを選択できるラジオ選択フィールドがありSHIP
ます。問題は、私のPHPが値を取得せずSHIP
、カートの値の最後のアイテムを返し、カートアイテムの総数を掛けるだけであるということです。SHIP
各アイテムから配列を取得して値を合計するにはどうすればよいですか?
PHP
$ship_array = $this->cart->ship($item['rowid']);
foreach ($ship_array as $index => $ship_option){
#SHIPPING CALC
$ship_total = 0;
foreach ($cart as $item)
{
$ship_total += $ship_option;
}
echo '<label><input type="radio" name="print" class="option" data-number="'. $ship_total .'" value="'. $index .'"/> UPS '. $index .' </label> '; }
ship
^このコードは、カートの最後のアイテムの値のみを取得します。結果は、ground
送料が$ 43.35(14.45(地上送料*合計3アイテム)であると表示されます。
明らかにこれは間違っています。それぞれから送料の値を追加する必要があります$item
配列のVAR_DUMP(カート内のすべてのアイテム)
array (size=3)
'554ed09a5f80917741359cc9da50a75c' =>
array (size=8)
'rowid' => string '554ed09a5f80917741359cc9da50a75c' (length=32)
'id' => string '101' (length=3)
'qty' => string '1' (length=1)
'price' => string '112.5' (length=5)
'name' => string 'Business Card' (length=13)
'ship' =>
array (size=3)
'Ground' => float 9.73
'2nd Day Air' => float 18.54
'Overnight' => float 26.27
'options' =>
array (size=2)
'Print Package' => string 'Pro' (length=3)
'Design Package' => string 'Premium' (length=7)
'subtotal' => float 112.5
'675d8a197a25e6720af7ac05707fee40' =>
array (size=8)
'rowid' => string '675d8a197a25e6720af7ac05707fee40' (length=32)
'id' => string '102' (length=3)
'qty' => string '1' (length=1)
'price' => string '446' (length=3)
'name' => string 'Booklet' (length=7)
'ship' =>
array (size=3)
'Ground' => float 14.45
'2nd Day Air' => float 22.57
'Overnight' => float 34.12
'options' =>
array (size=2)
'Print Package' => string 'Plus' (length=4)
'Design Package' => string 'Ultimate' (length=8)
'subtotal' => int 446
'aea5d2f84151e65a0a1e50371aad26aa' =>
array (size=8)
'rowid' => string 'aea5d2f84151e65a0a1e50371aad26aa' (length=32)
'id' => string '102' (length=3)
'qty' => string '1' (length=1)
'price' => string '325' (length=3)
'name' => string 'Booklet' (length=7)
'ship' =>
array (size=3)
'Ground' => float 14.45
'2nd Day Air' => float 22.57
'Overnight' => float 34.12
'options' =>
array (size=2)
'Print Package' => string 'Pro' (length=3)
'Design Package' => string 'Premium' (length=7)
'subtotal' => int 325