phpで特定の文字列が含まれているかどうかの判断は、「strpos」関数を使って行うことができる。
strpos関数の使い方
strpos(検索対象の文字列, 検索したい文字)とすると、検索したい文字があった場合にはその文字が何文字目にあったかどうかの数字、なかった場合にはfalseが返ってくる。
例えば、
//「apple」の中に「e」が含まれているか検索する場合
strpos("apple", "e") // 4が返ってくるので、含まれていると判断できる
//「apple」の中に「?」が含まれているか検索する場合
strpos("apple", "?") // falseが返ってくるので、含まれていないと判断できる
「¥(バックスラッシュ)の場合
「¥(バックスラッシュ)」の場合、上記の「apple」のように、
strpos("apple", "¥")
としても上手くいかない。
なぜなら、バックスラッシュは、phpの中で特殊文字エスケープシーケンスとして扱われているからである。
詳しくは、こちらを参照。
対処方法は?
かといって、エラーチェックなどで「¥」を文字検索したい場合はある。
そんなときは、「¥¥」といったように、重ねて表示すればよい。
strpos("apple", "¥¥")
上記のようにプログラムを書くことで、「¥」であっても含まれているかどうか判断することができる。
コメント