0
주어진 문자열에 stripos()
의 미리 정의 된 하위 문자열이 들어 있는지 확인하고 하위 문자열의 키를 반환하는 간단한 함수를 작성했습니다. 사실 스크립트의 다른 부분에서 사용하려면 키 문자열이 필요합니다.배열에서 정의 된 하위 문자열 찾기 및 PHP에서 키 반환
현재 배열 전체를 파싱하고 있기 때문에 더 좋은 방법이 있는지 궁금합니다. 일치하는 항목이 발견되면 결과를 반환합니다. 배열이 커지면 느려집니다.
$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;
}
}
}
죄송합니다. 이전에 이런 질문이있는 경우 죄송합니다. 귀하의 정보를 보내 주셔서 감사합니다.
사실 중간에 일치하는 항목이 발견되면 전체 배열은 구문 분석되지 않습니다. 나는 당신의 의견과 빠른 응답에 감사드립니다. – Teno
이 배열은 얼마나 큽니까? –
사용할 배열에 100 개가 넘는 키 (요소)가 없습니다. – Teno