== 演算子を使用すると、PHP が空の文字列を NULL として報告するのはなぜですか?

Barbara Streisand
リリース: 2024-11-04 00:40:30
オリジナル
872 人が閲覧しました

Why does PHP report an empty string as NULL when using the == operator?

PHP が空の文字列に対して NULL を報告するのはなぜですか?

PHP では、比較に == 演算子を使用すると、処理時に予期しない結果が生じる可能性があります。

次のコードを考えてみましょう:

<code class="php">$a = '';
if($a == NULL) {
    echo 'is null';
}</code>
ログイン後にコピー

驚くべきことに、このコードは、$a が空の文字列であるにもかかわらず、「is null」を出力します。

理由

== 演算子は型強制を実行し、異なる型の値を比較します。この場合、$a (空の文字列) は、同等のブール値 (false) に変換されます。 == を使用する場合、PHP では false は NULL と同等とみなされます。

解決策

NULL を正確に比較するには、= の代わりに厳密な等価演算子 === を使用します。 =.

<code class="php">if($a === NULL) {
    echo 'is null';
}</code>
ログイン後にコピー

=== 演算子は型安全な比較を実行し、値と型の両方が同一の場合にのみ true を返します。

以上が== 演算子を使用すると、PHP が空の文字列を NULL として報告するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!