Как правильней проверить содержимое строки?

Тривиальная задача: если строка не пустая, вывести её через echo.

Первоначально переменная объявляется как $str = '';

Вопрос - как правильней проверять на пустоту? В смысле, чтобы PHP не совершал лишних движений.

Варианты:

if (!empty($str))

if ($str)

if (strlen($str) > 0)

(уверен, есть множество других)
  • Вопрос задан
  • 8492 просмотра
Решения вопроса 1
rework
@rework
Помог ответ? В благодарность отметь его решением
Что вы подразумеваете под "пустотой". Строка нулевой длинны, не установленная переменная, null, 0?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@IceJOKER
Web/Android developer
Вы же сами явно написали - "если строка не пустая", может тогда стоит применить функцию именно для этого случая?
т.е. empty(); - из названия же ясно для чего предназначена эта функция
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вообще, в данной постановке задача не имеет смысла.
Если строка пустая, то нет проблемы и вывести её - ничего от этого не изменится и не поломается.

Но если говорить не о выводе, а о проверке на "пустоту" (в терминах РНР), то
if ($str)
или
if (trim($str))
если мы не хотим обрабатывать строку, состоящую из пробельных символов.

Однако следует помнить, что ноль в РНР входит в понятие пустоты. поэтому, если мы хотим проверить равна ли переменная пустой строке, то именно эту проверку и надо делать,
if ($str !== '')

Отдельно хочу отметить заботу о совершающем лишние движения РНР. Людей, которые проявляют эту заботу, на нормальных ресурсах молча банят. Жаль что тостер - не нормальный ресурс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽