我写了一个简单的函数来检查给定的字符串是否包含预定义的子字符串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;
}
}
}
抱歉,如果以前有人问过这种问题。感谢你的信息。