PHP: проверьте, является ли переменная типом строки И не является ли она пустой строкой?Php

Кемеровские программисты php общаются здесь
Anonymous
PHP: проверьте, является ли переменная типом строки И не является ли она пустой строкой?

Сообщение Anonymous »

Мне нужно проверить, является ли переданная переменная строковым типом и не пуста ли она. У меня есть следующая функция:

Код: Выделить всё

function isNonEmptyStr($var)
{
if(isset($var)) {
if(is_string($var)) {
if(strlen($var) > 0) {
return true;
}
}
}
return false;
}
ожидаемые результаты:

Код: Выделить всё

echo(isNonEmptyStr(''));// false
echo(isNonEmptyStr(' '));// true
echo(isNonEmptyStr('a'));// true
echo(isNonEmptyStr('1'));// true
echo(isNonEmptyStr(1));// false
echo(isNonEmptyStr(0));// false
echo(isNonEmptyStr(0.0));// false
echo(isNonEmptyStr(0.1));// false
echo(isNonEmptyStr(array()));// false
echo(isNonEmptyStr(new myObj()));// false
echo(isNonEmptyStr(true));// false
echo(isNonEmptyStr(false));// false
echo(isNonEmptyStr(null));// false
Функция работает нормально.

Мой вопрос: есть ли способ улучшить производительность функции, не влияя на результаты?

Я говорю о «микрооптимизации» (я очень активно использую эту функцию).

РЕДАКТИРОВАТЬ:

Для тех, кто спрашивает:

Код: Выделить всё

echo(isNonEmptyStr(0));// should return false, because it's not a string
echo(isNonEmptyStr(1));// should return false, because it's not a string
echo(isNonEmptyStr('0'));// should return true, because it's a non-empty string
echo(isNonEmptyStr('1'));// should return true, because it's a non-empty string
Примечание: непустая строка = строка, которая при проверке с помощью функции strlen() вернет > 0

Подробнее здесь: https://stackoverflow.com/questions/335 ... pty-string

Вернуться в «Php»