在PHP中使用stripos函数但与变量冲突

在PHP中使用stripos函数但与变量冲突,php,stripos,Php,Stripos,我试图用PHP中的函数stripos解决一个问题。我们正在做促销代码,例如,一个促销代码是“friends”,另一个是“friends 40”,当有人输入这两个代码时,它表示这两个代码都是正确的,因此会给他们双倍折扣 我们需要区分这些内容,但不区分大小写。有什么技术或其他功能我们可以使用吗 if (stripos($promo,'friends') !== false) { $price = $price/2; $adddiscount = .50; } if (stripos($prom

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

我们需要区分这些内容,但不区分大小写。有什么技术或其他功能我们可以使用吗

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

两者都将验证为
stripos
不区分大小写
friends
可在
FRIENDS40
中找到。你需要先做
朋友40
检查,然后再做
朋友

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

把朋友40放在第一位,这是行不通的。它仍然在处理这两个脚本。
<?php
if(strpos($promo,'FRIENDS40') !== false) {   
    $price = $price - $price * .4;
    $adddiscount = .4;
}
if(strpos($promo,'friends') !== false) {   
    $price = $price/2;
    $adddiscount = .50;
}