私は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()
文字列が空の場合、および PHP では 0 を返します0==false
。本当に、strlen()
関数でラップする必要はありません。ブール値の答えを主張したい場合は、それをキャストしてください。すなわち:
(bool) strlen($string);
したがって、ifブロックで呼び出されると思われる関数の代わりに、次のようになります
if(strlen($string)) //etc.