文字列の中に特定の文字列が含まれているのかチェックしたい
以前、文字列の中に特定の文字が何回含まれているのか?という記事を書いた。
https://qiita.com/wakiyo1017/items/177f3312c720bf01e6ef
今回は、文字列の中に特定の「文字列」が含まれているのかチェックするためにはどうするか学んだ。
プログラミングを勉強していて面白い事は、答えがいくつもあってそのどれもが正解だというところなのだけれど、この方法もいくつもあるらしい。
そのうち二つを残しておく。
strpos
$str = "abcdefg";
$s = "cd";
echo strpos($str, $s);
// 以下出力結果
2
strposは特定の文字列が含まれている場合は、その文字列が何文字目から含まれているかを返してくれるようだ。
含まれていない場合は、false を返してくれるので、含まれているかを確認するためには、if文を用いて…
if(strpos($str, $s) === false){
echo "nothing";
}else {
echo "find";
}
こんな感じで使用した。
preg_match
$str = "abcdefg";
$s = "cd";
echo preg_match("/$s/", $str);
// 以下出力結果
1
preg_matchは正規表現を使うパターン。
含まれる場合には"1"を、含まれていない場合には"0"を返してくれる。
どちらの方法も、頭の片隅に入れておいて損はないのではないかと思ったので、覚えておこう…