次のようなコードがあります。
if (strpos($stringt, $key . '=') === false) {
...some code...
}
特定のキー=値のペアが .ini ファイルに存在するかどうかを確認することになっています。.ini ファイルは、1 行に 1 つの KEY=String 値でいっぱいの単なる PHP .ini ファイルです。
問題は、短いキーが長いキー内に存在する場合、行が false ではなく true を返すことです。たとえば、キー/値 PROBLEM=problem が存在し、$key = 'EN' を使用してチェックする場合、$strpos はより長い文字列 'HAPPEN=' 内の 'EN=' と一致するため、ルーチンは true を返します。新しい行の先頭からのみ strpos をキーに一致させるにはどうすればよいですか ('\n' . $key . '=' を試しましたが、うまくいきませんでした)。