현재 위치: > 최신 기사 목록> stripos와 strpos의 차이점은 무엇입니까?

stripos와 strpos의 차이점은 무엇입니까?

M66 2025-05-17

PHP 프로그래밍에서 우리는 종종 다른 문자열에 서브 스트링이 존재하는지 여부를 결정하는 것과 같은 문자열 검색의 필요성을 종종 만나게됩니다. PHP는이를 위해 여러 내장 기능을 제공하며 가장 일반적으로 사용되는 두 가지는 strpos ()strpos () 입니다. 그들의 사용법은 매우 비슷해 보이지만, 그것은 사례에 민감한 지에 대한 주요 차이점으로 행동합니다.

1. strpos () : Case-sensitive 문자열 검색

strpos ()는 다른 문자열에서 문자열이 먼저 나타나는 위치를 찾는 데 사용됩니다. 이 기능은 사례에 민감합니다 .

문법:

 int|false strpos(string $haystack, string $needle, int $offset = 0)
  • $ haystack 은 검색 할 대상 문자열입니다.

  • $ 바늘은 찾아야 할 부분 문자열입니다.

  • $ 오프셋은 선택적 시작 위치입니다.

예:

 $pos = strpos("Welcome to m66.net", "M");
if ($pos !== false) {
    echo "Found at position $pos";
} else {
    echo "Not found";
}

출력은 다음과 같습니다.

 Not found

그 이유는 "m" 이 대문자이고 원래 문자열의 "m" 은 소문자이고 strpos ()는 엄격하게 대용어에 민감하므로 거짓을 반환합니다.

2. stripos () : Case-Insensitive String 검색

strpos () 와 달리 strpos ()는 사례에 민감한 버전입니다. 논리적으로 정확하게 일관되며, 단지 문자의 상류 및 하부 사례를 무시합니다.

문법:

 int|false stripos(string $haystack, string $needle, int $offset = 0)

예:

 $pos = stripos("Welcome to m66.net", "M");
if ($pos !== false) {
    echo "Found at position $pos";
} else {
    echo "Not found";
}

이 코드는 다음을 출력합니다.

 Found at position 0

Stripos ()는 "m""m"을 동일한 문자로 취급하기 때문입니다.

3. 언제 사용해야합니까?

선택할 기능은 특정 요구에 따라 다릅니다.

  • 변수에 특정 케이스 철자가 포함되어 있는지 확인하는 것과 같은 정확한 일치가 필요한 경우 (예 : 비밀번호 확인과 같은) strpos ()를 사용하는 것이 더 적절합니다.

  • 키워드가 존재하는지 여부를 결정하려면 (검색 함수에서와 같이) 상류 및 소문자에 대해 신경 쓰지 않으려면 Stripos ()가 더 편리합니다.

실제 예 : 민감한 단어 필터링 (케이스 둔감)

 $comment = "This is a stupid comment.";
$badword = "Stupid";

if (stripos($comment, $badword) !== false) {
    echo "Warning: Inappropriate language detected.";
}

이것은 다양한 경우 조합에서 민감한 단어를 효과적으로 감지 할 수 있습니다.

요약

기능 사례에 민감합니다 반환 값 유형 사용
strpos () int 또는 false 정확한 검색
stripos () 아니요 int 또는 false 사례 검색을 무시하십시오

올바른 시나리오에서 그들 사이의 차이를 이해하고 코드를보다 정확하고 효율적으로 만들 수 있습니다. 이 기사 가이 두 기능의 차이점을 더 잘 이해하는 데 도움이되기를 바랍니다.