今回ご紹介するのは
PHPで特定の文字列が含まれているかを簡単に判定する方法
です。
目次
【ソースコード】特定の文字列が含まれているか判定する
以下のソースコードで「対象の文字列」に「キーワード」が含まれているかどうかを判定することが可能です。
if( strpos('対象の文字列',(string)'キーワード' ) !== false ){
// 文字列が含まれていた場合の処理
}
strpos()は「対象の文字列」内に「キーワード」が何番目にあるかを調べる関数です。
- 「キーワード」が見つかった場合……見つかった位置番号を返す
- 「キーワード」が見つからなかった場合……falseを返す
注意点①
strpos()の返り値を判定する場合は、必ず「===」もしくは「!==」演算子を使用してください。
(※「==」や「!=」ではダメということ)
strpos()はfalseまたは数値を返す関数ですが、数値の中には「0」が含まれる場合があります。
「0」はfalseの意味も持つため、if文で評価するときは型まで確認しないと正しく判定できない可能性があります。
注意点②
「キーワード」は明示的に(string)’キーワード’のように文字列型にキャストしましょう。
※PHP公式ドキュメントで推奨されているため(詳しくは【パラメータ】→【needle】の項目をご覧ください。)
使用例
「キーワード」が含まれている場合
$val = 'abcdefg';
$keyword = 'bc';
if( strpos( $val, (string) $keyword ) !== false ){
// $keywordが含まれている場合の処理
}
キーワードが含まれていない場合
$val = 'abcdefg';
$keyword = 'bc';
if( strpos( $val, (string) $keyword ) === false ){
// $keywordが含まれていない場合の処理
}
まとめ
ケケンタ
以上がPHPで特定の文字列が含まれているかどうかを判定する方法でした!
strpos()関数を使用すれば簡単に文字列が含まれているかどうかを判定することが可能です。
注意点が2つあるため、実際にお使いいただく際はその点にお気を付けください。
注意点
- strpos()の返り値を判定する場合は、必ず「===」もしくは「!==」演算子を使用する
- 「キーワード」は明示的に(string)’キーワード’のように文字列型にキャストする
それでは最後までご覧いただきありがとうございました!
無料でPHPが学べるプログミングスクール
コメント