【PHP】任意の文字列が含まれるかチェックする方法 / strpos関数

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

こんな人に読んでほしい

  1. 「strpos」について説明ができない人
  2. プログラミング学び始めたけど、基礎をしっかり学びたい人
  3. エンジニア転職をしたい人

結論

strpos関数ってなに?

検索対象文字列内にある任意文字列最初に現れる場所を見つけてくれる関数

書き方

strpos(検索対象の文字列, 任意の文字列)

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

https://akeoblog.com/vardump/

サンプルコードで学ぼう!

サンプルコード①

PHP
<?php
$string = "abcdef";

//'abcdef'のなかに'bc'が含まれている場合
if (strpos($string, 'bc') !== false) {
    var_dump("含まれています。");
}

//'abcdef'のなかに'bc'が含まれていない場合
if (strpos($string, 'bc') === false) {
    var_dump("含まれていません。");
}

このコードの実行結果はこちら

PHP
string(24) "含まれています。"

サンプルコード②

PHP
<?php
$string = "abcdefab";

$test1 = strpos($string, "ab");
$test2 = strpos($string, "bc");
$test3 = strpos($string, "c");
$test4 = strpos($string, "xyz");

var_dump($test1);
var_dump($test2);
var_dump($test3);
var_dump($test4);

このコードの実行結果はこちら

PHP
int(0)
int(1)
int(2)
bool(false)

補足

ポイントは以下の3つです!

  1. 検索対象の文字列の中から、1番最初に見つかった位置の数字を返す
  2. 見つからなかったらfalseを返す
  3. 整数の「0」は「false」と同じ意味を持つので注意が必要
PHP
<?php
$string = "abcdef";

if (strpos($string, 'a')) {
    var_dump("含まれています。");
} else {
    var_dump("含まれていません。");
}
あけお

このコードだと0番目に’a’があるから0を返すね。
0を返すということは、if文の条件式では’false’と同じ扱いになるよ!

このコードの実行結果はこちら

PHP
string(27) "含まれていません。"

サンプルコード①のように
「=== false」「!== false」を使いましょう!!!

まとめ

「strpos関数」について、ざっくりでも理解できたら幸いです。
これからも一緒に頑張りましょう!!

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次