1
[type] => main
が削除されている場合はメイン配列(注文)の設定を解除し、[type] => addon
が削除されている場合はサブ配列のみを削除します。アドオンは、主製品が主製品とそのアドオン(メイン配列が削除されます)が削除され、顧客がアドオンを必要としない場合は、カートから取り除くことができます。サブ配列内の項目が削除された場合、メイン配列の設定を解除するにはどうすればよいですか?
[0] => Array (
[0] => Array (
[name] => Heart Choclates
[code] => LFB-P-10
[qty] => 1
[type] => main
[price] => 1200
[stock] => 1
[image] => choclates-valentines-day.jpg
[quantity] => 12
[expdate] => Jun 02nd 2017
[exptime] => 08:00 AM to 09:00 AM
[expdtype] => Fixed time delivery
)
[1] => Array (
[name] => Birthday Pink
[code] => KB-P-5
[qty] => 1
[type] => addon
[price] => 600
[stock] => 3
[image] => pink-roses.jpg
[expdate] => Jun 02nd 2017
[exptime] => 08:00 AM to 09:00 AM
[expdtype] => Fixed time delivery
)
)
[1] => Array (
[0] => Array (
[name] => Red & Yellow Roses
[code] => KB-P-6
[qty] => 1
[type] => main
[price] => 800
[stock] => 8
[image] => birthday-red-roses.jpg
[expdate] => Jun 15th 2017
[exptime] => 08:00 AM to 12:00 PM
[expdtype] => Standard delivery
)
[1] => Array (
[name] => Truffle Cake
[code] => KB-P-8
[qty] => 1
[type] => addon
[price] => 10
[stock] => 3
[image] => truffle-cake.jpg
[expdate] => Jun 15th 2017
[exptime] => 08:00 AM to 12:00 PM
[expdtype] => Standard delivery
)
)
これは私のコードの様子です。
if (isset($_GET["removep"]) && isset($_GET["return_url"]) && isset($_SESSION["products"])) {
$product_code = $_GET["removep"]; //get the product code to remove
$product_type = $_GET["removet"]; //get the product type to remove
$return_url = base64_decode($_GET["return_url"]); //get return url
if (isset($_SESSION["grand_total"])) {
unset($_SESSION['grand_total']);
}
$array = $_SESSION["products"];
print_r($array);
foreach($array as $key => $sub_array) {
foreach($sub_array as $innerRow => $cart_itm){
if($cart_itm['type'] == $product_type && $cart_itm['code'] == $product_code) {
unset($array[$key]);
break; //if there will be only one then break out of loop
}
}
}
}
私はこれを試してみましたが、それはあなたが$product_type
がmain
かaddon
であるかどうかをチェックし、別の削除を行う必要があり、事前
私はそれが動作を示すデモを追加しました私はすでにこれを試してみましたが、その設定は解除 –
を得ていません。 – Barmar
はい、私はセッションに配列を保存していないので、間違いを働いた。 $ _SESSION ["products"] = $ array;このような。私のカートには反映されませんでした。たくさんありがとうございました –