【PHP】特定の文字列を含むかどうか調べる strpos()

strpos()について

strposは、該当する文字列が見つからなかった場合に、「false」を返す。

該当する文字列が見つかった位置を数値で返すため、型のチェックを必要とする。

=== false

!== false

例えば、strpos(‘abcd’,’bc’) は0を返します。

if(strpos($subject,'bc') !== false){
  //'abcd'のなかに'bc'が含まれている場合
}

if(strpos($subject,'bc') === false){
  //'abcd'のなかに'bc'が含まれていない場合
} 

参考にさせて頂きました。

【PHP】特定の文字列を含むかのチェック - Qiita
#正規表現を使わない場合strpos,strstr,preg_matchではstrposが最も早いのでstrposを使う。PHPマニュアルにもそのように書いてある。strstrもし特定の h…

使用例 – wordpressでカスタムフィールドのキーの値より評価する場合など

<?php if(strpos(get_post_meta($post->ID,'aaa',true), '平安時代') !== false): ?>
	<?php echo do_shortcode('[aaa_1]'); ?>
<?php elseif(strpos(get_post_meta($post->ID,'aaa',true), '江戸時代') !== false): ?>
	<?php echo do_shortcode('[aaa_2]'); ?>
<?php endif; >

上記の説明、カスタムフィールドのキーがaaaで値に「平安時代」を含むものは、ショートコードのaaa_1を出力する。また、キーがaaaで値に「江戸時代」を含むものは、ショートコードのaaa_2を出力する。

タイトルとURLをコピーしました