ホームページ >バックエンド開発 >PHPチュートリアル >PHP で `strpos()` の戻り値をチェックするときに `>` の代わりに `!==` を使用するのはなぜですか?
` PHP で `strpos()` の戻り値を確認する場合? " />
strpos() の戻り値を大まかにチェックした結果の意図しない結果
strpos() は、文字列内で最初に出現する部分文字列を検索するために使用される PHP 関数です。 PHP マニュアルには、文字列が見つからない場合は strpos() が false を返すと記載されていますが、PHP がさまざまなデータをどのように処理するかを考慮することが重要です。 type.
PHP では、値 0 はブール値コンテキストで false と評価されます。これにより、文字列が位置 0 から始まる場合、strpos() の戻り値をチェックするときに予期しない結果が生じる可能性があります。 == 演算子を使用すると、0 が返され、誤った比較が発生する可能性があります。
この問題を回避するには、=== 演算子を使用して戻り値をテストすることをお勧めします。 strpos()。=== 演算子は厳密な等価性チェックを実行し、比較される値のデータ型も同じであることを確認します。
たとえば、以下を使用する代わりに:
if (strpos($grafik['data'], $ss1) > false)
次を使用します:
if (strpos($grafik['data'], $ss1) !== false)
!== を使用すると、strpos() が true のブール値を返すようになります。戻り値をゼロ (false) として評価する代わりに、(true または false) を評価します。
以上がPHP で `strpos()` の戻り値をチェックするときに `>` の代わりに `!==` を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。