ОК, поэтому я брею голову, но если бы у меня были волосы, мне не нужна бритва, потому что сегодня я бы разорвал все это. Это пропало 3 утра, и то, что выглядело как простое решение в 00:30, стало далеким от него.PHP-переменные выглядят одинаково, но не равны (я в замешательстве)
Пожалуйста, смотрите экстракт кода ниже ..
$psusername = substr($list[$count],16);
if ($psusername == $psu_value){
$answer = "YES";
}
else {
$answer = "NO";
}
$psusername
имеет значение «Норманн», который берется из URL в файле на основе текста (url.db)
$psu_value
также держит значение «normann», которое извлекается из файла cookie, установленного на компьютере пользователя (или параметра в адресной строке браузера - URL).
Однако, я уверен, что вы можете угадать мою проблему, переменная $answer
содержит «НЕТ» из вышеприведенного теста.
Все, что я знаю, я выбрал из поисковых запросов Google, и вы, ребята, здесь, поэтому я не эксперт, что, возможно, очевидно.
Возможно, это ошибка школьника, но я не могу понять, что я делаю неправильно. Мое предположение заключается в том, что типы данных различаются. В конечном счете, я хочу сравнить две переменные и получить ИСТИННЫЙ результат, когда они содержат одну и ту же информацию (например, normann = normann).
Итак, если вы очень умные ребята, можете указать, почему две переменные отражают то, что похоже на ту же информацию, но на самом деле разные, это был бы очень полезный урок для меня и сделать моих пользователей очень счастливыми.
попробуйте var_dump две переменные, чтобы увидеть, действительно ли они одинаковы. – fusion3k
ОК, посмотрев на это в шестнадцатеричном представлении TextPad, я вижу, что имя пользователя, которое я извлекаю из URL, содержит два дополнительных символа, поэтому normann .. (0D 0A). Таким образом, похоже, что я неправильно использую функцию подстроки, и мне нужно знать, как извлечь из моей начальной точки до последнего буквенно-цифрового символа. – Kevin
Ah ha .. благодаря гексаговому представлению я смог сделать более продуктивный поиск разрешения и нашел его здесь на SO - вы, ребята, настолько умны. Это утверждение разрешило мою проблему: $ psusername = preg_replace ("/ [^ [: alnum:]]/u", '', $ psusername); – Kevin