我在一個循環的混亂碰到,其實,我想檢查一下,
第一個條件:如果憑證類型是AMOUNT = AMOUNT
和value > 0 and $totalRules <= 1
表示這是第一次如果用戶正在使用coupson,則讓用戶使用它。
第二個條件:我在檢查是否AMOUNT = AMOUNT
和value > 0 and $totalRules >=1
表示用戶已經使用了優惠券。如何檢查是否優惠券已被使用
THRID條件:如果AMOUNT !=AMOUNT
和$totalRules >=1
意味着這段時間,用戶選擇不同的優惠券,這可能是百分比類型,那麼我們是不是允許用戶使用此優惠券。
現在,對於第一次,代碼工作正常,但如果刷新頁面,即使我用break;
任何人都可以請幫我解決這問題,其他條件也越來越真的嗎?我知道我需要改進這些代碼,我需要老年人的幫助。
$vDetail = array('AMOUNT', 'ONLY'); // For now check if the coupon type is AMOUNT (set from admin)
$voucherAllowed = 1; // Total number of voucher allowed, Global variable.
$totalRules = 1; // First tiem it'll be 0, then always adds 1 in that variable to check if user has already used any coupon.
$voucherTypeArray ['AMOUNT'] = 8.00;
$voucherTypeArray ['PERCENT'] = 0.00;
foreach($voucherTypeArray as $thisVoucher => $vValue)
{
echo "$vDetail[0] == $thisVoucher && $vValue>0 && $totalRules <= $voucherAllowed <br>";
if($vDetail[0]==$thisVoucher && $vValue>0 && (int)$totalRules <= $voucherAllowed)
{ $throwError = '0'; break; } // Continue to the next rule and add this one.
elseif($vDetail[0]==$thisVoucher && $vValue > 0 && (int)$totalRules >= $voucherAllowed)
{
$throwError = "Only $voucherAllowed voucher can be redeem at this time.";
break;
}
elseif($vDetail[0]!=$thisVoucher && (int)$totalRules >= $voucherAllowed)
{
$throwError = 'aYou cannot redeem this voucher at this time.';
break;
}
}
你的第一和第二個條件都可以是'在同一時間TRUE',如果'$ totalRules == 1'。 – AlexP
@AlexP所以你認爲,我不應該使用比較運算符<= – Nadeem
「我需要老年人」是我的一天。 –