我有一个函数 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 类型比较表。