変数が null または空の文字列であるかどうかを確認するより良い方法は? 質問する

変数が null または空の文字列であるかどうかを確認するより良い方法は? 質問する

PHP は動的言語なので、指定されたフィールドが空かどうかを確認する最適な方法は何ですか?

以下の点を保証したいと思います:

  1. nullは空の文字列とみなされます
  2. 空白のみの文字列は空とみなされます
  3. 「0」は空ではないとみなされる

これまでに得たものは次のとおりです。

$question = trim($_POST['question']);

if ("" === "$question") {
    // Handle error here
}

もっと簡単な方法があるはずですよね?

ベストアンサー1

投稿タイトルの質問に対する文字通りの答えは非常に明白で簡単です。

function IsNullOrEmptyString($str){
    return ($str === null || trim($str) === '');
}

しかし、実際に質問されている入力変数の場合、それは不必要であり不十分でもあります。

配列$_POST要素はnullにはなり得ないので、nullのチェックは不要です。同時に、外部変数が存在しない可能性があり、その場合はエラーが発生するため、おそらくそれを避けたいでしょう。したがって、変数が必要な場合は$question、コードは次のようになります。

$question = trim($_POST['question'] ?? '');
if ("" === $question) {
    // Handle error here
}

おすすめ記事