特定の文字列に定義済みの部分文字列が含まれているかどうかを確認しstripos()
、部分文字列のキーを返す単純な関数を作成しました。実際には、スクリプトの他の部分でキー文字列を使用する必要があります。
現在、配列全体を解析していて、一致が見つかったときに結果を返すため、これを行うためのより良い方法があるかどうか疑問に思っています。したがって、配列が大きくなると、遅くなります。
$needles = array(
'a' => 'ab',
'b' => 'bc',
'c' => 'cd',
'd' => 'de',
'e' => 'ef'
);
echo get_key('cd', $needles) . '<br />';
echo get_key('my_de_string', $needles) . '<br />';
echo get_key('e_ab', $needles) . '<br />';
function get_key($mystring, $needles) {
foreach ($needles as $key => $needle)
{
if ((stripos($mystring, $needle)) !== false)
{
return $key;
}
}
}
以前にも同じような質問がありましたら申し訳ありません。情報ありがとうございます。