我有一个函数 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 不执行,我不明白为什么,请有人解释一下。
最佳答案
其实很简单的问题。变化:
if (strTemp != '')
到
if ($strTemp != '')
您可能还想将其更改为:
if ($strTemp !== '')
因为 != ''
如果你传递的是数字 0 和其他一些情况由于 PHP's automatic type conversion 将返回 true .
你不应该使用内置的empty()为此的功能;见评论和PHP type comparison tables .
关于php - 为什么检查字符串是否为空的函数总是返回true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718986/