>백엔드 개발 >PHP 튜토리얼 >strposa는 PHP의 다중 문자열 검색을 위한 strpos보다 더 효율적인 대안입니까?

strposa는 PHP의 다중 문자열 검색을 위한 strpos보다 더 효율적인 대안입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-25 17:33:15184검색

Is strposa a More Efficient Alternative to strpos for Multiple String Searches in PHP?

유용한 Strpos 및 배열 기반 바늘 검색

한 문자열 내에서 여러 문자열을 검색할 때 내장된 PHP 함수 strpos는 그렇지 않을 수 있습니다. 충분하다. 이 문제를 해결하기 위해 php.net의 코드 조각은 지정된 문자열 내에서 지정된 배열의 첫 번째 문자열을 효율적으로 찾는 사용자 정의 함수 strposa를 제안합니다.

strposa 구현

function strposa(string $haystack, array $needles, int $offset = 0): bool 
{
    foreach($needles as $needle) {
        if(strpos($haystack, $needle, $offset) !== false) {
            return true; // stop on first true result
        }
    }

    return false;
}

사용법 예

문자열을 고려하세요.

$string  = 'Whis string contains word "cheese" and "tea".';

그리고 문자열 배열:

$array  = ['burger', 'melon', 'cheese', 'milk'];

strposa 사용:

if (strposa($string, $array, 1)) {
    echo 'true';
} else {
    echo 'false';
}

문자열에 배열의 바늘이 포함되어 있으므로 true가 출력됩니다. "cheese".

개선된 strposa

strposa의 업데이트 버전은 첫 번째 바늘 일치 시 검색을 종료하여 성능을 최적화합니다. 이는 건초 더미에서 여러 개의 바늘을 검색할 때 효율성을 향상시킵니다.

위 내용은 strposa는 PHP의 다중 문자열 검색을 위한 strpos보다 더 효율적인 대안입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.