Я пытаюсь проверить строку для порожняком или NULL:Проверка NULL в PHP
if (strlen((string)$comment) > 0 And !($comment === NULL))
{ .... }
но это, кажется, не поднимая NULL.
Я пытаюсь проверить строку для порожняком или NULL:Проверка NULL в PHP
if (strlen((string)$comment) > 0 And !($comment === NULL))
{ .... }
но это, кажется, не поднимая NULL.
Используйте empty()
вместо проверки длины строки и если она равна нулю.
if (!empty($comment))
Ради обучения, вы можете использовать is_null()
в вашем конкретном примере:
if (strlen((string)$comment) > 0 && !is_null($comment))
Но мой первый пример это лучший способ сделать это.
'empty' также триггеры для строки' '0" 'хотя. – mario
@mario True. Ответ на ваш комментарий будет рассказывать. –
использовать это как ваш условный:
if (!is_null($comment) && strlen($comment) > 0)
{ .... }
но Джон Conde предложил, вы могли бы сократить это к одной проверки с помощью empty(), но знаю, что это будет проверить, если значение в $comment
является ''
, NULL
, '0'
, false
и 0
if (!empty($comment))
{ .... }
Состояние '> 0' может быть избыточным. И я бы избегал явного кастинга. Если OP передал массив, он скорее предпочел бы предупреждение, чем неправильный результат (strlen ((string) array()) == 5). – mario
Что делать, если '$ comment' представляет целое число, которое он хочет преобразовать в строку, чтобы проверить длину, хотя'> 0' может быть избыточным, что может быть проще следовать за ним, когда он снова просмотрит код. –
'strlen' выполняет неявное строковое преобразование, за исключением NULL, массивов и объектов IIRC. Но верно, '> 0' можно сохранить, если это для удобства чтения. – mario
Просто используйте: if (!is_null($comment)) { .... }
Что содержит ваша переменная? Используйте 'var_dump()' для проверки ошибок. – mario
var_dump говорит, что это null, но я не могу согласиться. Используя if (is_null ($ comment)) {stuff}, он не делает этого. – RGriffiths