как мне убедиться, что пустая строка действительно пуста в PHP

#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() , но я не могу гарантировать, что это удалит странные символы.