-2

第一次查看代码:

$smsbonus = "Rs. 0.00";
$pattern = "/class=\"monthes_sub_heading\">(.*?)</i";
preg_match_all($pattern, $ha, $matches);

for ($x = 0; $x < count($matches[1]); $x++) {
    if ($matches[1][$x] == date("Y-m-d")) {
        if ($matches[1][$x + 1] == "By Sending Sms")
            $smsbonus = $matches[1][$x + 2];
    }
}

if ($smsbonus = Rs.2) {
    echo "Rs. 2 Match Found";
} else {
    echo "Not Found.";
}

但它不能正常工作。

我想要的是检测是否:

$smsbouns = Rs. 2

如果是这样,则回显找到匹配项。

但是当我运行它时,当我$smsbouns的 is not时Rs. 2,它仍然在回显找到匹配项。:\

谁能告诉我怎么了?

或者有人可以给我一个正确的版本吗?

提前致谢。

4

3 回答 3

1

一是=实际设置值;因此它永远是正确的。

如果它是真的,你想要==哪些测试

或者===which 测试它是否为真并且类型是否相同。

于 2013-05-24T19:19:32.523 回答
0

永远不会与您尝试的东西一起使用,= 正在分配运算符,您必须使用 == 运算符进行比较。做这个

if($smsbonus == "Rs. 2")
于 2013-05-24T19:17:03.493 回答
0

您没有针对字符串进行测试。将“Rs. 2”放在引号中:

if($smsbonus == "Rs. 2")

此外,您正在使用单个等号,它将其分配给 RS。2,并且不检查它。你必须使用“==”

于 2013-05-24T19:17:34.137 回答