PHP がブール値を正確にエコーする
PHP では、通常、ブール値を文字列にキャストすると、結果に応じて "1" または空の文字列が返されます。その真実性について。ただし、場合によっては、ブール値が実際に false である場合に、「false」を明示的に出力する必要がある場合があります。
次のコードを考えてみましょう。
$bool_val = (bool)false; echo $bool_val;
このコードは、 false をキャストするため、何も出力しません。文字列は空の文字列になります。同様に、true の場合、文字列へのキャストの結果は「1」になります。
代替解決策
ブール値が次の場合に明示的に「false」または「0」をエコーするにはfalse の場合、次のオプションを使用できます:
echo $bool_val ? 'true' : 'false';
この三項演算子は $bool_val の値を評価し、true の場合は "true"、false の場合は "false" を返します。
echo $bool_val ?? 'false';
PHP 7.0 で導入された Coalesce 演算子は、引数の最初の null 以外の値を返します。この場合、$bool_val が false (null と評価される) の場合、「false」文字列が返されます。
echo !$bool_val ? 'false' : '';
この手法では、論理「not」演算子を使用してブール値を反転します。 $bool_val が false の場合、それは true に反転され、条件演算子が「false」と評価されます。
以上がPHP でブール値 (true/false) を正確にエコーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。