部分一致している最初の文字位置を返す。
最初の位置はゼロ。(1なのってSQLぐらいか。。。)
Qiitaで良い記事がありました。
部分一致があるかの判定でstrposを使う場合、==ではなく===を使い、型判定まで使う必要があります。
※参照:Qiita 【PHP】特定の文字列を含むかのチェック
これはもし文の最初で一致していた場合、strposからはゼロが返ってきます。
つまり、「abcにaが含まれていない時」を表現しようと
strpos('abc' , 'a') == false とかいた場合、
0 == false となり、ゼロはfalseと同意なので
false == false (0 == 0なのかな?)のように最終的に比較され
true という結果になる、みたいです。「abcにaが含まれている」のに実行されてしまいます。
無理くりまとめると、
部分一致している時に実行 :strpos('abc' , 'a') !== falseと書きましょう
部分一致していない時に実行:strpos('abc' , 'a') === false
0 件のコメント:
コメントを投稿