#php
#php
Вопрос:
У меня есть следующий фрагмент кода
if ($summary == "CFD funding Interest Paid" ||
$summary == "Commissions" ||
$summary == "Closing trades") {
print $summary.",".$date.",".$reference.",".$description.",".$amount."<br>";
}
else {
print $summary."*<br>";
}
Выводит следующее
Комиссии* Комиссии* Закрытие сделок* Комиссии* Закрытие сделок*
Почему строки, похоже, не совпадают?
Комментарии:
1. Как выглядит $ summary?
2. Проверили наличие скрытых символов (новая строка и прочее) и чувствительность к регистру?
3. Я попробовал ваш код, установив $ summary =»Комиссионные», и он сработал правильно. Вы могли опубликовать недостающий код раньше?
Ответ №1:
Возможно, у вас есть начальный пробел? Вы могли бы обрезать () это, чтобы посмотреть, поможет ли это?
Ответ №2:
Вместо этого используйте strcmp(str1, str2)
функцию.
Комментарии:
1. 1 голос. У меня было две буквально идентичные строки длиной 6 символов — и это продолжало завершаться неудачей. — «demo 2» восстановлено из расшифрованного URL $_GET. — «demo 2» восстановлено из имени элемента массива. Сбой равенства, однако
strcmp
сработал.2. 1, я сравнивал результат $ _SERVER [«REQUEST_METHOD»] со строковыми литералами. С запросом PUT,
==
сбой.strcmp
сработало.
Ответ №3:
Добавьте trim()
перед if ()
, это удаляет невидимые символы, такие как пробел…
$summary = trim($summary);
if ($summary == "CF...