我正试图用PHP中的函数stripos来解决一个问题。我们正在做促销代码,例如,一个促销代码是"朋友",另一个是"朋友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
中找到。您需要先进行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(),IS区分大小写:
<?php
if(strpos($promo,'FRIENDS40') !== false) {
$price = $price - $price * .4;
$adddiscount = .4;
}
if(strpos($promo,'friends') !== false) {
$price = $price/2;
$adddiscount = .50;
}
为了安全起见,我建议使用第一种方法。