【发布时间】:2010-10-17 16:00:36
【问题描述】:
我有一个函数 isNotEmpty 如果字符串不为空则返回 true,如果字符串为空则返回 false。我发现如果我通过它传递一个空字符串,它就不起作用。
function isNotEmpty($input)
{
$strTemp = $input;
$strTemp = trim($strTemp);
if(strTemp != '') //Also tried this "if(strlen($strTemp) > 0)"
{
return true;
}
return false;
}
使用 isNotEmpty 验证字符串已完成:
if(isNotEmpty($userinput['phoneNumber']))
{
//validate the phone number
}
else
{
echo "Phone number not entered<br/>";
}
如果字符串为空则 else 不执行,我不明白为什么,请有人能解释一下。
【问题讨论】:
-
只是一个建议:使用带有否定名称的函数通常是一种不好的做法。拥有函数 isEmpty($input) 更具可读性,否则你可能会这样称呼它: if (!isNotEmpty($x)) ... 另一方面,isNotEmpty() 和 (!isEmpty()) 不是那不同。 YMMV。
-
拥有相同的功能而没有取反的名称,可能类似于 hasContent()。
-
!thatDifferent @johndodo
-
这绝对是一个题外话:错字问题。
标签: php string validation