현재 위치: > 최신 기사 목록> strrpos와 strpos 기능의 차이점은 무엇입니까? 다른 시나리오에서 어떻게 사용해야합니까?

strrpos와 strpos 기능의 차이점은 무엇입니까? 다른 시나리오에서 어떻게 사용해야합니까?

gitbox 2025-07-21

PHP에서 STRRPOSSTRPOS 기능은 모두 기본 문자열에 하위 문자열이 나타나는 위치를 찾는 데 사용됩니다. 그것들은 매우 비슷하지만 몇 가지 중요한 차이점이 있습니다. 다른 응용 프로그램 시나리오에서는이 두 기능의 특성에 따라 적절한 기능을 선택하고 사용해야합니다.

1. strpos 기능 소개

STRPOS 함수는 기본 문자열에 먼저 하위 문자열이 나타나는 위치를 찾는 데 사용됩니다. 이 함수는 기본 문자열에서 하위 문자열의 시작 위치를 반환합니다 (인덱스 기준). 서브 스트링을 찾을 수 없으면 False가 반환됩니다.

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"world"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$position</span></span><span>;  </span><span><span class="hljs-comment">// 산출 7</span></span><span>
</span></span>

위의 예에서 Strpos는 7을 반환하여 "Hello, World!"에서 "World"문자열이 먼저 나타납니다.

2. strrpos 기능 소개

STRPOS 와 유사하게, strrpos 함수는 기본 문자열에서 하위 문자열의 마지막 발생을 찾는 데 사용됩니다. 기판의 마지막 발생의 시작 위치를 반환합니다. 서브 스트링을 찾을 수 없으면 False가 반환됩니다.

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"world"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$position</span></span><span>;  </span><span><span class="hljs-comment">// 산출 14</span></span><span>
</span></span>

이 예에서는 "Hello, World, World!"에서 "World"의 마지막 발생이기 때문에 STRRPOS가 14를 반환합니다. 인덱스 14에서 시작됩니다.

3. strposstrrpos 의 차이

위의 예에서 STRPOSTRRPOS 의 주요 차이점은 다음과 같습니다.

  • STRPOS : 하위 문자열이 처음 나타나는 위치를 반환합니다.

  • STRRPOS : 마지막으로 기판의 발생을 반환합니다.

다시 말해서, Strpos는 왼쪽에서 오른쪽으로 검색하는 동안 Strpos는 오른쪽에서 왼쪽으로 검색합니다. 두 함수의 다른 동작은 기본적으로 반환 값 유형, 전달 된 매개 변수 등을 포함하여 동일합니다.

4. strposstrpos를 사용할 때

strpos 또는 strrpos를 사용하기로 선택할 때는 실제 요구에 따라 결정해야합니다.

STRPO를 사용한 시나리오 :

  • 첫 번째 발생 위치 찾기 : 문자열에서 하위 문자열의 첫 번째 발생 위치를 찾아야하는 경우 (예 : 사용자 입력을 처리 할 때 첫 번째 유효한 일치를 찾으십시오) STRPO가 선호됩니다.

  • 성능 고려 사항 : STRPOS는 처음에 나타나는 위치에만 관심이있을 때 더 효율적입니다. 한 번만 스트링을 가로 지르기 때문입니다.

strrpos를 사용한 시나리오 :

  • 기판의 마지막 발생을 찾으십시오 . STRRPOS는 특정 서브 스트링의 마지막 발생을 찾아야 할 때 이상적입니다. 예를 들어 로그를 분석 할 때 로그의 마지막 레코드 또는 마지막 오류 메시지에만 관심이있을 수 있습니다.

  • 마지막 분리기 위치 찾기 위치 : 예를 들어, 파일 경로를 구문 분석 할 때 파일 확장에만 관심이있을 수 있습니다. STRRPOS는 마지막 점 ( . )의 위치를 신속하게 찾아 파일 확장자를 추출하는 데 도움이 될 수 있습니다.

5. 요약

  • STRPO는 왼쪽에서 오른쪽으로 검색 해야하는 시나리오에 적합한 부분 문자열이 처음 나타나는 위치를 찾는 데 사용됩니다.

  • STRRPOS는 오른쪽에서 왼쪽으로 찾아야하는 시나리오에 적합한 서브 스트링의 마지막 발생을 찾는 데 사용됩니다.

이 두 기능의 선택은 특정 비즈니스 요구를 기반으로해야합니다. 문자열의 첫 번째 일치를 찾아야하는 경우 strpos를 사용하십시오. 마지막 경기가 필요한 경우 strrpos를 사용하십시오. 그들의 차이를 이해하면 PHP 프로그램을 작성할 때보다 정확한 결정을 내려 코드의 가독성과 효율성을 향상시키는 데 도움이 될 수 있습니다.