今回の記事では検索対象の文字列に、特定の文字が現れる場所(=何文字目か)をチェックする関数を紹介します!
strpos
strpos(A, B)
文字列Aの中からBが始めに現れる場所を見つけます。○文字目の位置を調べるため、先頭にある文字と一致した場合、0が返却される点にはくれぐれも注意しましょう。
http://phpspot.net/php/man/php/function.strpos.html
strposを使ったサンプルプログラム
<?php
$check_word = 'Saitama';
$search_word = 'S';
$pos = strpos($check_word, $search_word);
var_dump($pos); // int(0)が返却されます
if($pos) {
// $posが0番目のため、trueを期待してこのように書かない
echo 'この分岐には入りません。';
} else {
echo 'この分岐に入ります。';
}
if($pos !== false) {
// falseかどうかの判定には、 != ではなく、!==を使用
echo 'この分岐に入ります。';
} else {
echo 'この分岐には入りません。'; // もし $pos != false で判定したらこちらに入ってしまいます
}
$search_word = 's';
$pos = strpos($check_word, $search_word);
var_dump($pos); // bool(false) 小文字の"s"はヒットしない
$search_word = 'ta';
$pos = strpos($check_word, $search_word);
var_dump($pos); // int(3)
文字列の一致や、文字列を含むかどうかを判定する関数として、strstrやstristrもよく使います!