我有一个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/>"; }
如果该字符串为空,则其他字符串将不会执行,我不明白为什么,请有人对此有所帮助。
实际上是简单的问题。更改:
if (strTemp != '')
至
if ($strTemp != '')
可以说,您可能还想将其更改为:
if ($strTemp !== '')
因为!= ''如果您传递的是数字0以及其他一些由于PHP的自动类型转换的情况,它将返回true 。
!= ''
您 不应该 为此使用内置的empty()函数。请参阅注释和PHP类型比较表。