У меня возникли проблемы при попытке сравнить строки в инструкции «if».Сравнение строк с использованием == в a, если
if ($alarmonoff == "on") {
echo("checked");
}
else {
echo("unchecked");
}
В моем коде, даже если $ alarmonoff содержит «на» (проверено, отображая его перед оператором), отображаемый текст по-прежнему «снят». Что-то не так? Не правильный ли мой синтаксис?
Заранее благодарен!
EDIT: Как я не могу опубликовать код в ответах на комментарии, я размещаю это здесь, когда пользователь689 спросил. $ Alarmonoff переменной приходит из строки JSON:
<?php
$handle = fopen("./settings.json","r");
$settings = fread($handle, 512);
$jsonsettings = json_decode($settings, true);
extract($jsonsettings);
fclose($handle);
$alarmonoff = strtolower(trim($alarmonoff));
echo $alarmonoff;
function alarmonoffcheck() {
if ($alarmonoff == "on") {
echo("checked");
}
else {
echo("unchecked");
}
}
?>
проверить пробелы и невидимые символы, такие как chr (13), chr (10) ... – Sebas
Сомнительные. В коде, который вы показываете, нет ничего плохого. Сделайте 'var_dump ($ alarmonoff)' – Brad
. Я был бы более склонен думать, что $ alarmonoff не устанавливается должным образом. – brandonscript