Отладка простого оператора IF в PHP - PullRequest
0 голосов
/ 27 февраля 2011

Код

НЕ РАБОТАЕТ -

$u = $_SESSION['username'];
while($responseanswer=mysqli_fetch_array($rquery)){

if($responseanswer['onuser']=='$u'&&$responseanswer['response']=='')
{
    echo "awesome";
}
}

РАБОТАЕТ

$u = $_SESSION['username'];
    while($responseanswer=mysqli_fetch_array($rquery)){

    if($responseanswer['onuser']&&$responseanswer['response']=='')
    {
        echo "awesome";
    }
    }

Как мне решить эту проблему?$ ты в порядке.Спасибо.

Ответы [ 3 ]

4 голосов
/ 27 февраля 2011

Одинарные кавычки не интерполируются для переменных внутри них.Это должно работать:

if($responseanswer['onuser']==$u && $responseanswer['response']=='')

Но обратите внимание на одну вещь, я бы весьма предложил вам отформатировать ваш ebetter cod.При необходимости укажите пробелы и всегда делайте отступ для области видимости.Так что код станет:

$u = $_SESSION['username'];
while ($responseanswer=mysqli_fetch_array($rquery)) {
    if ($responseanswer['onuser'] == $u && $responseanswer['response'] == '') {
        echo "awesome";
    }
}
2 голосов
/ 27 февраля 2011

Я считаю,

$responseanswer['onuser']=='$u'

должно быть

$responseanswer['onuser']==$u

без одинарных кавычек вокруг $u.

0 голосов
/ 27 февраля 2011

Существует большая разница между ' и ".

Попробуйте это:

$a = "foo";
echo('$a' . " $a"); // You'll get: $a foo

В любом случае, не помещайте свои переменные в строки, просто чтобы сравнить их. Просто используйте $responseanswer['onuser']==$u.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...