我正在 php 中构建一些简单的验证规则,而我的 IDE (phped) 抱怨语法。
谁能告诉我以下有什么问题?
function notBlank($str) {
(strlen($str) == 0) ? return false : return true;
}
phped 抱怨“意外回报”
任何建议表示赞赏。
谢谢。
像这样写:
function notBlank($str){
return strlen($str) != 0;
}
像这样写:
function notBlank($str) {
return ( strlen($str) == 0 ? false : true );
}
您不能在三元运算符中使用 return。如果要保留该语法,则必须执行以下操作:
function notBlank($str = '') {
$var = (strlen($str) == 0) ? false : true;
return $var;
}
尽管如此,请注意默认的做事方式更清晰:
function notBlank($str = '') {
if(strlen($str) == 0)
return false;
else
return true;
}
希望能帮助到你!
GSto 的答案在这里似乎是最好的,尽管您可能还想查看 php 的empty
函数:
strlen()
当字符串为空时返回 0,并且在 PHP 中0==false
。所以真的,没有必要包装strlen()
一个函数。如果您想坚持使用布尔答案,请强制转换它。IE:
(bool) strlen($string);
因此,而不是你的函数,它可能在 if 块中调用,你只需要
if(strlen($string)) //etc.