#php #string
#php #строка
Вопрос:
Вот проблема, с которой я столкнулся:
if($id!="") return true; else return false;
Я знаю, что $id
это пустая строка, но когда я это делаю var_dump($id)
, я получаю string(25)""
по какой-то причине, хотя строка пуста, она по-прежнему считает, что ее длина равна 25. Я пробовал if(!empty($id))
, и это тоже не сработало.
Как я могу изменить значение строки string(0)""
, если оно действительно пустое?
Я пытался использовать trim() для удаления пробелов, но пробелов нет.
Комментарии:
1. Что, если вы
trim()
сначала запустите ее?
Ответ №1:
Это может быть пробел, который не отображается браузером. Используйте trim()
для ее удаления:
$id = trim($id);
Комментарии:
1. Я разобрался со своей собственной проблемой. Когда я повторил строку, я ничего не получил. Но когда я выполнил var_dump() для строки, я обнаружил, что в строке было 25 символов. Я выполнил foreach для символов строки и var_dump для каждого символа, я обнаружил, что на самом деле в строке были данные. Результатом цикла было
<? echo $some_variable; ?>
. PHP вычислял выражение в строке, чтобы в результате получилось то, что выглядело как пустая строка. Но на самом деле строка представляла собой выражение из 25 символов, которое оценивалось как пустая строка. So…in этот экземпляр » != » Более чем немного разочаровывает.
Ответ №2:
PHP допускает двоичные строки. Причина, по которой она не отображается как пустая, заключается в том, что она не пуста. Ваша строка, вероятно, содержит
символы или другие непечатаемые или символы нулевого размера. Вы можете попробовать использовать trim()
, но я не могу гарантировать, что это удалит странные символы.