首先查看代码:
$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
不是Rs. 2
时,它仍然会回应找到的匹配。 :\
谁能告诉我什么是错的?
或者有人能给我一个正确的版本吗?
提前致谢。
答案 0 :(得分:1)
一个=
实际上设置该值;因此它永远都是真的。
你希望==
测试如果是真的
或===
测试是否为真和类型相同。
答案 1 :(得分:0)
永远不会使用您尝试的内容,=分配运算符您必须使用==运算符进行比较。这样做
if($smsbonus == "Rs. 2")
答案 2 :(得分:0)
你没有测试字符串。将“Rs.2”放在引号中:
if($smsbonus == "Rs. 2")
此外,您正在使用单个等号,将其分配给RS。 2,并不反对它。你必须使用“==”