IT業界の技術をメモ・情報公開できる

strpos系の注意する点

登録日:2026-01-29   
PHP
1)strpos($ml["mlBody"], "対象文字列") != false
・ゆるい比較(型を無視)
・0 == false とみなされる

対象文字列の位置
| 位置 | 戻り値 | 判定 |
| 先頭 | 0 | false |
| 途中 | 5 | true |
| なし | false | false |


2)strpos($ml["mlBody"], "対象文字列") !== false
・厳密比較(型も値も見る)
・0 !== false → true

対象文字列の位置
| 位置 | 戻り値 | 判定 |
| 先頭 | 0 | true |
| 途中 | 5 | true |
| なし | false | false |


3)mb_strpos($ml["mlBody"], "対象文字列") !== false
・マルチバイト対応
・内部的に 文字単位 で位置を返す
・日本語を扱うなら安心感あり


結論
1)は使用してはいけない
2)が問題なく使用できる
3)日本語を使用するならこちら

一覧に戻る