我正在php中构建一些简单的验证规则,我的IDE(phped)抱怨语法。
有人可以告诉我以下内容有什么问题吗?
function notBlank($str) {
(strlen($str) == 0) ? return false : return true;
}
phped抱怨'意外回归'
任何建议表示赞赏。
感谢。
答案 0 :(得分:13)
这样写:
function notBlank($str){
return strlen($str) != 0;
}
答案 1 :(得分:2)
像这样写:
function notBlank($str) {
return ( strlen($str) == 0 ? false : true );
}
答案 2 :(得分:2)
您无法在三元运算符中使用return。如果你想保留这种语法,你必须做这样的事情:
function notBlank($str = '') {
$var = (strlen($str) == 0) ? false : true;
return $var;
}
尽管如此,请注意默认的做事方式更清晰:
function notBlank($str = '') {
if(strlen($str) == 0)
return false;
else
return true;
}
希望它有所帮助!
答案 3 :(得分:1)
GSto的答案似乎最好,尽管您可能还想查看php的empty
函数:
答案 4 :(得分:0)
strlen()
在字符串为空时返回0,在PHP 0==false
中返回。所以真的,没有必要在函数中包装strlen()
。如果你想坚持一个布尔答案,那就投吧。即:
(bool) strlen($string);
所以不是你的函数,而是在if块中可以调用,你只需要
if(strlen($string)) //etc.