0

我正在尝试解决 PHP 中函数 stripos 的问题。我们正在做促销代码,例如,一个促销代码是“friends”,另一个是“friends40”,当有人输入时,表示这两个都是真的,所以会给他们双倍的折扣。

我们需要这些是不同的,但不区分大小写。有没有我们可以使用的技术或其他功能?

if (stripos($promo,'friends') !== false) {   
$price = $price/2;
$adddiscount = .50;
}
if (stripos($promo,'FRIENDS40') !== false) {   
$price = $price - $price * .4;
$adddiscount = .4;
}
4

1 回答 1

0

两者都将验证为stripos区分大小写,并且friends可以在FRIENDS40. 你需要先做FRIENDS40检查然后friends

<?php
if(stripos($promo,'FRIENDS40') !== false) {   
    $price = $price - $price * .4;
    $adddiscount = .4;
}elseif(stripos($promo,'friends') !== false) {   
    $price = $price/2;
    $adddiscount = .50;
}

另一种方法是使用区分大小写的strpos ()

<?php
if(strpos($promo,'FRIENDS40') !== false) {   
    $price = $price - $price * .4;
    $adddiscount = .4;
}
if(strpos($promo,'friends') !== false) {   
    $price = $price/2;
    $adddiscount = .50;
}

为了安全起见,我建议使用第一种方法。

于 2013-12-04T22:03:44.357 回答