strpos – 文字列内の部分文字列が最初に現れる場所を見つける PHP

PHP

今回の記事では検索対象の文字列に、特定の文字が現れる場所(=何文字目か)をチェックする関数を紹介します!

strpos

strpos(A, B)

文字列Aの中からBが始めに現れる場所を見つけます。○文字目の位置を調べるため、先頭にある文字と一致した場合、0が返却される点にはくれぐれも注意しましょう。

strpos - 文字列内の部分文字列が最初に現れる場所を見つける

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)

文字列の一致や、文字列を含むかどうかを判定する関数として、strstrstristrもよく使います!

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