2013-05-24 4 views
-2

первый чек из кода:Как совместить значение строки php?

$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

Вы не тестируете ничью. Помещенный «Rs 2.» В кавычках:

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

Также вы используете один знак равенства, который присваивает его RS. 2, и не проверяет его. Вы должны использовать «==»

+0

Охх. Спасибо. Теперь его работая отлично ... :) Еще один помогите пожалуйста. если я хочу использовать ИЛИ, то это нормально? if ($ smsbonus == "Rs. 2" || $ smsbonus == "Rs. 1.98") – user2402009

+0

Также помните о проблемах в php с "==" против "===" - что-то еще, чтобы следить для! –

+0

Да, || это хорошо, просто помните, что он будет работать для любого состояния. – dudewad

0

Никогда не будет работать с тем, что вы пытаетесь, = присваивает оператор, который вы должны использовать == для сравнения. сделайте это

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

один = на самом деле установка значение; поэтому он всегда будет правдой.

== вы хотите, какие тесты если это правда

или ===, который проверяет, если это правда и тип такой же.