현재 위치: > 최신 기사 목록> STRCHR을 사용하여 PHP의 문자열에서 마지막 지정된 문자의 위치를 찾는 방법은 무엇입니까?

STRCHR을 사용하여 PHP의 문자열에서 마지막 지정된 문자의 위치를 찾는 방법은 무엇입니까?

gitbox 2025-07-26

STRCHR을 사용하여 PHP의 문자열에서 마지막 지정된 문자의 위치를 찾는 방법은 무엇입니까?

PHP 프로그래밍에서 처리 문자열은 가장 일반적인 작업 중 하나입니다. 때때로 우리는 문자열에서 특정 문자의 위치를 찾아야하며, 이것은 항상 왼쪽에서 오른쪽으로 간단한 검색이 아닙니다. 일반적인 STRCHR 함수는 지정된 문자가 처음 나타나는 위치를 찾는 데 도움이되지만 캐릭터의 마지막 발생을 직접 찾는 데 도움이 될 수는 없습니다. 이 요구 사항을 달성하려면 문자열에서 마지막 지정된 문자의 위치를 찾기 위해 strchr을 사용하여 작업하기 위해 몇 가지 트릭을 사용해야합니다.

STRCHR 기능의 기본 사용

먼저 StrCHR 기능의 기본 사용법을 간단히 검토해 봅시다. STRCHR 은 문자열에서 문자가 처음으로 나타나는 위치를 찾는 PHP의 문자열 함수입니다. 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack 은 대상 문자열입니다 (즉, 검색하는 문자열).

  • $ 바늘은 우리가 찾고있는 캐릭터 또는 서브 스트링입니다.

예를 들어:

 <span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'o'</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">// 산출 "o, world!"</span></span><span>
</span></span>

이것은 발견 된 캐릭터 (캐릭터 자체 포함)에서 문자열의 끝까지 모든 것을 반환합니다.

마지막 캐릭터를 찾기위한 팁

Strchr 자체는 마지막 캐릭터의 위치를 찾는 것을지지하지 않지만, 우리는 몇 가지 영리한 방법으로 이것을 할 수 있습니다. 구체적인 아이디어는 strrev 함수를 사용하여 문자열을 뒤집은 다음 strchr을 사용하여 문자의 첫 번째 발생 위치를 찾은 다음 Strlen을 통해 원래 문자열의 위치로 변환하는 것입니다.

다음은 PHP에서 strchr을 사용하여 마지막 지정된 문자의 위치를 문자열로 찾는 방법을 보여주는 예입니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">strchr_last</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$haystack</span></span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>) {
    </span><span><span class="hljs-comment">// 대상 문자열을 뒤집습니다</span></span><span>
    </span><span><span class="hljs-variable">$reversed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrev</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>);
    
    </span><span><span class="hljs-comment">// 반전 된 문자열에서 첫 번째 문자를 찾으십시오</span></span><span>
    </span><span><span class="hljs-variable">$reversed_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-variable">$reversed</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
    
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$reversed_pos</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;  </span><span><span class="hljs-comment">// 지정된 문자가없는 경우,그런 다음 돌아옵니다false</span></span><span>
    }
    
    </span><span><span class="hljs-comment">// 거꾸로 된 문자열에서 위치를 얻으십시오</span></span><span>
    </span><span><span class="hljs-variable">$reversed_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$reversed</span></span><span>) - </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$reversed_pos</span></span><span>);
    
    </span><span><span class="hljs-comment">// 원래 문자열에서 위치를 반환합니다</span></span><span>
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$reversed_pos</span></span><span>;
}

</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr_last</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'o'</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 (지금 바로 "o" 원래 문자열의 마지막 위치)</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

코드 구문 분석

  1. strrev 함수 : 먼저 Strrev 함수를 사용하여 문자열을 반전합니다. 이를 통해 문자열에 나타나는 지정된 문자를 찾아 마지막 문자의 위치를 간접적으로 얻을 수 있습니다.

  2. strchr 함수 : 역 문자열에서, 우리는 문자의 첫 번째 발생 위치를 찾기 위해 strchr 함수를 사용합니다.

  3. 위치 변환 : 역방향 문자열에서 문자 위치를 찾으으므로 Strlen ($ Reversed)Strlen ($ Reversed_pos) 에 의해 원래 문자열의 문자 위치를 계산해야합니다.

장점과 한계

이 방법의 장점은 strchr 자체가 매우 효율적인 기능이며 코드가 간결하다는 것입니다. 마지막 문자 위치를 찾으려면 몇 줄의 코드 만 필요합니다. 유일한 한계는이 접근법이 현악기에 의존하므로 매우 큰 문자열을 다룰 때 성능이 약간 떨어질 수 있다는 것입니다. 또한 문자열에 문자가 존재하지 않으면 strchr은 false를 반환하고 해당 처리를 수행해야합니다.

요약

strchr 자체는 문자열에서 마지막 지정된 문자의 위치를 직접 찾을 수는 없지만 문자열을 반전시키는 트릭을 통해이 기능을 간접적으로 구현할 수 있습니다. 이 방법은 간단하고 효과적이며 매일 개발에서 캐릭터 위치를 찾아야하는 시나리오에 적합합니다. PHP에서 마지막 문자의 위치를 쉽게 찾으려면이 방법을 사용해보십시오.