ホームページ >バックエンド開発 >PHPチュートリアル >位置 0 から始まる文字列に対して `!== false` を指定して `strpos()` をチェックすると失敗するのはなぜですか?
strpos() の戻り値を緩くチェックすると意図しない結果が生じる
別の文字列内で文字列の出現箇所を特定しようとすると、使用時に不一致が発生する可能性があります。 strpos() 関数。 2 つの文字列が存在するかどうかをチェックし、!== false を使用して最初の文字列が 2 番目の文字列よりも前にあることを確認するという意図された動作は、予期しない結果を引き起こす可能性があります。
PHP マニュアルに記載されているように、文字列が存在しない場合、strpos() は false を返します。見つかった。ただし、文字列が位置 0 で始まる場合 (strpos() の戻り値が 0 になる場合)、ステートメント strpos($grafik['data'], $ss1) !== false は false として評価される可能性があります。
これを修正するには、コード内の !== false を === 0 に置き換えます。この変更により、strpos() が 0 を返し、その文字列が指定された文字列の先頭に存在することを示すときにステートメントが true に評価されるようになります。
以上が位置 0 から始まる文字列に対して `!== false` を指定して `strpos()` をチェックすると失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。