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)日本語を使用するならこちら