현재 위치: > 최신 기사 목록> PHP의 strpos 기능은 무엇입니까? 기본 사용 및 간단한 예제가 포함되어 있습니다

PHP의 strpos 기능은 무엇입니까? 기본 사용 및 간단한 예제가 포함되어 있습니다

gitbox 2025-06-15

PHP 프로그래밍에서 STRPO 는 일반적으로 사용되는 문자열 함수로, 하위 문자열이 처음 나타나는 위치를 찾는 데 사용됩니다. 이 기능은 특히 유용하며 특정 하위 문자열이 문자열에 존재하는지 확인해야 할 때 위치를 신속하게 찾는 데 도움이 될 수 있습니다. 발견 된 경우, strpos는 기판의 첫 번째 발생 위치를 반환합니다 (인덱스 기준 0). 찾을 수없는 경우, false .

기본 구문

 <span><span><span class="hljs-title function_ invoke__">strpos</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">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>

매개 변수 설명 :

  • $ haystack : 검색 할 문자열.

  • $ 바늘 : 찾을 수있는 서브 스트링.

  • $ OFFSET : 옵션 매개 변수, $ haystack 에서 검색을 시작할 위치를 나타냅니다. 기본값은 0입니다 (처음부터 검색).

반품 값 :

  • $ 니들이 발견되면 처음으로 $ haystack 에 나타나는 위치를 반환합니다 (Integral, 0 기준).

  • $ 바늘을 찾지 못하면 False가 반환됩니다.

예 1 : 기본 검색

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</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">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"일어나십시오 '<span class="hljs-subst">$needle</span></span></span><span>' 문자열의 위치: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中일어나십시오";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 :

 <span><span>일어나십시오 </span><span><span class="hljs-string">'PHP'</span></span><span> 문자열의 위치: 18
</span></span>

이 예에서 Strpos는 "$ haystack" 에서 "php" 의 위치를 ​​찾습니다. "PHP"는 18 번째 문자로 시작하기 때문에 결과는 18 세입니다.

예 2 : 지정된 위치에서 검색을 시작하십시오

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"o"</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-number">5</span></span><span>);  </span><span><span class="hljs-comment">// 에서5캐릭터 검색을 시작하십시오</span></span><span>

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"위치에서 5 开始일어나십시오 'o' 문자열의 위치: <span class="hljs-subst">$position</span></span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'o' 未在字符串中일어나십시오"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 :

 <span><span>위치에서 </span><span><span class="hljs-number">5</span></span><span> 开始일어나십시오 </span><span><span class="hljs-string">'o'</span></span><span> 문자열의 위치: </span><span><span class="hljs-number">7</span></span><span>
</span></span>

이 예에서 STRPO는 처음 5자를 건너 뛰고 (예 : "Hello" ) 5 번째 문자에서 "O" 를 찾기 시작합니다. 결과는 첫 "O" 가 나타나는 위치, 즉 7 번째 캐릭터 위치를 반환합니다.

예 3 : 문자열에 존재하지 않는 하위 문자열 찾기

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Python"</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">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中일어나십시오";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"일어나십시오 '<span class="hljs-subst">$needle</span></span></span><span>' 문자열의 위치: </span><span><span class="hljs-subst">$position</span></span><span>";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 :

 <span><span><span class="hljs-string">'Python'</span></span><span> 未在字符串中일어나십시오
</span></span>

이 예에서 "Python"은 $ haystack 에 존재하지 않으며 strpos는 False를 반환하며 연산자 ===를 비교하여 정확한 판단을 보장합니다.

주목해야 할 것

  1. 반품 값 비교 : STRPOS 에 특별한주의를 기울여야하며, 이는 0 일 수 있습니다. 즉, 문자열의 시작 부분에 하위 문자열이 나타납니다. 0이 거짓 으로 간주되므로 if ($ position)을 사용하여 판단을 직접 사용하면 판단 결과가 잘못 초래 될 수 있습니다. 따라서 ! == 거짓을 사용하여 반환 값이 False 인지 확인해야합니다.

  2. 사례 민감성 : STRPO 는 사례 민감합니다. 사례에 민감한 조회가 필요한 경우 Scripos 기능을 사용할 수 있습니다.

stripos 예 :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"php"</span></span><span>;

</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stripos</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-comment">// 사례에 민감한 검색</span></span><span>

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"일어나십시오 '<span class="hljs-subst">$needle</span></span></span><span>'(케이스 둔감)문자열의 위치: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中일어나십시오";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 :

 <span><span>일어나십시오 </span><span><span class="hljs-string">'php'</span></span><span>(케이스 둔감)문자열의 위치: 18
</span></span>

요약

STRPO 는 PHP에서 매우 실용적인 문자열 함수로서 첫 번째 하위 문자열 발생을 효율적으로 찾는 데 도움이됩니다. 합리적인 사용을 통해 문자열 검색의 요구 사항을 쉽게 처리 할 수 ​​있습니다. 개발 에서이 기능의 기본 사용을 마스터하면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다.