インデックス [3] の価格とインデックス [4] の割引タイプ (%、固定) で配列に保存された特定の範囲があります。これらの範囲内で購入する人は、利用可能な割引を受ける必要があります. 私の現在の問題は、配列の範囲が任意の数になる可能性があることです。たとえば、ここでは variable$a
に があります4 nested array
が、特定のケースでは、6 nested array
、または などを作成8 nested array
します。
そのため、switch ステートメント内で for ループを実行していたところ、エラーが発生しましParse error: syntax error, unexpected 'for' (T_FOR), expecting case (T_CASE) or default (T_DEFAULT) or '}'
た。
これが私のコードです:-
<?php
$a = array(array('0', '10', '200', '0'), array('11', '20', '20', '1'), array('20', '50', '25', '1'), array('50', '100', '5000', '0'));
$quantity = 25;
$count = count($a);
switch($quantity) {
for($i=0;$<=$count-1;$i++) {
case ($quantity > $a[$i][0] && $quantity < $a[$i][1]) :
echo "Discount Available for Quantity > ".$a[$i][0]." and < ".$a[$i][1];
break;
}
default:
echo 'No Discount';
break;
}
?>
上記のシナリオのアルゴリズムをどのように設計すればよいですか。
注: 配列タイプ:-
$variable = array ("lowest_quantity_range", "highest_quantity_range", "discount_value", "discount_type");
割引タイプは1
for%
または0
for fixed
amountのいずれかになります