即使包含大写字母,也要比较2个字符串

时间:2016-11-30 14:17:44

标签: php string if-statement

我对if语句有疑问。

    if($_POST['billing_first_name'] == $tet['data']['0']['first_name']) {
    } 
    else 
    {
run code    
    } 

此代码将从表单获取的字符串与已存在的字符串进行比较。

有效。但是当我不添加大写字母时,它会运行代码。

因此,例如,如果我比较字符串与字符串它不运行代码(这是我想要的)但是当我比较字符串与字符串它运行代码(我不想要)只因为没有包含大写字母开始。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

根据评论代码运行正常,可以了解您所在的区块。

if(condition){//code}只会在条件为真时运行代码,即

if("String" == "String"){echo "foo";} // will echo foo
if("string" == "String"){echo "foo";} // will not echo foo

为了在false时运行代码,你添加一个else

// Will echo foo
if("String" == "String"){
    echo "foo";
} else {
    echo "bar";
}

// Will echo bar
if("string" == "String"){
    echo "foo";
} else {
    echo "bar";
}

使用!(意思不是)

// Will echo bar if("String" != "String"){ echo "foo"; } else { echo "bar"; } // Will echo foo if("string" != "String"){ echo "foo"; } else { echo "bar"; }

答案 1 :(得分:0)

由于cmorrissey我解决了它。

在两个变量上使用strlower允许我比较2个字符串,无论其中一个字符串中是否有大写字母。

 if(strtolower($_POST['billing_first_name']) == strtolower($tet['data']['0']['first_name'])) {
    //do nothing
    }else {
    //run code
    }