현재 위치: > 최신 기사 목록> PHP에서 strcspn 함수를 사용하는 방법은 무엇입니까? 빠른 시작 튜토리얼!

PHP에서 strcspn 함수를 사용하는 방법은 무엇입니까? 빠른 시작 튜토리얼!

gitbox 2025-08-16

PHP에서 STRCSPN 함수는 매우 실용적인 문자열 처리 함수이며, 지정된 문자가 발생할 때까지 문자열의 시작부터 전달되는 문자 수를 반환하는 데 사용됩니다. 이 기능은 특정 문자를 포함하지 않는 문자열의 일부를 처리하거나 특정 특정 문자를 찾을 때 상대 위치를 가져와야합니다.

strcspn 함수의 구문

 <span><span><span class="hljs-title function_ invoke__">strcspn</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">$charlist</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>

매개 변수 설명 :

  • $ haystack : 대상 문자열은 확인하려는 문자열입니다.

  • $ charlist : 지정된 문자 목록, strcspn은 목록의 문자가 발견 될 때까지 $ haystack 문자열을 스캔합니다.

  • $ start (선택 사항) : 검색을 시작할 위치를 지정하고 기본값은 0 입니다.

  • $ length (선택 사항) : 검색의 문자 길이를 제한하고 기본값은 null 이므로 전체 문자열이 검색되었음을 나타냅니다.

함수는 값을 반환합니다

strcspn 함수는 정수 값을 반환하여 문자열의 시작부터 $ charlist 의 캐릭터가 발생하는 위치로 (또는 캐릭터 목록의 캐릭터가 발생하면 스캔 한 위치를 반환합니다). 지정된 문자가 발생하지 않으면 전체 문자열의 길이가 반환됩니다.

사용의 예

몇 가지 간단한 예제로 strcspn 함수의 사용법을 보여 드리겠습니다.

예 1 : 문자열에서 지정된 문자의 위치 찾기

 <span><span><span class="hljs-meta">&lt;?php</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">$characters</span></span><span> = </span><span><span class="hljs-string">" ,!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$characters</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list is at position: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// 산출:The first occurrence of a character from the list is at position: 5</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 예에서 strcspn은 "안녕하세요, 세계!" 으로 시작합니다. 캐릭터 가 '' (공간)이 발생할 때까지. 반환 된 결과는 5 이며, 여섯 번째 문자는 공간임을 나타냅니다 (배열 인덱스는 0에서 시작).

예 2 : 검색을 시작할 위치를 지정하십시오

 <span><span><span class="hljs-meta">&lt;?php</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">$characters</span></span><span> = </span><span><span class="hljs-string">" ,!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$characters</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list after position 6 is at: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// 산출:The first occurrence of a character from the list after position 6 is at: 8</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 예에서는 6 번째 캐릭터에서 찾아보기 시작하도록 지정합니다. 공간 문자가 5 번째 위치에 있더라도 다음 공간 문자 가 발생할 때까지 6 개 위치를 살펴보고 결과는 8입니다.

예 3 : 문자 목록을 지정하지 않습니다

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"123456789"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">"678"</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The first occurrence of a character from the list is at position: <span class="hljs-subst">$position</span></span></span><span>";
</span><span><span class="hljs-comment">// 산출:The first occurrence of a character from the list is at position: 6</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 예에서 strcspn은 문자열에서 '6' , '7' 또는 '8'을 찾습니다. 함수에 의해 반환 된 위치는 6 번째 문자 (즉, 문자 '6' )이며, 이는 문자 목록 678 의 첫 번째 발생 위치를 나타냅니다.

실제 응용 시나리오

  1. 불필요한 캐릭터를 명확하게하십시오 .
    strcspn은 문자열에서 관련없는 문자를 지우는 데 사용될 수 있습니다. 예를 들어, 숫자가 포함 된 문자열을 추출하고 숫자가 아닌 문자를 삭제하십시오.

     <span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
    </span><span><span class="hljs-variable">$digits</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">"abcdefghijklmnopqrstuvwxyz"</span></span><span>));
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Extracted digits: <span class="hljs-subst">$digits</span></span></span><span>"; </span><span><span class="hljs-comment">// 산출:Extracted digits: 123</span></span><span>
    </span></span>
  2. 비밀번호 확인 :
    암호에 불법 문자 (예 : 제어 문자 또는 공백)가 포함되어 있는지 여부를 감지하려면 strcspn이 매우 적합한 도구입니다.

     <span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-string">"secure@123"</span></span><span>;
    </span><span><span class="hljs-variable">$illegalChars</span></span><span> = </span><span><span class="hljs-string">" \t\r\n"</span></span><span>;
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$illegalChars</span></span><span>) == </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$password</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Password is valid!"</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">"Password contains illegal characters!"</span></span><span>;
    }
    </span></span>
  3. 텍스트 정리 :
    strcspn을 사용하여 문장 부호가 포함될 수있는 텍스트가 있다고 가정 해 봅시다. 첫 번째 구두점이없는 부분을 쉽게 추출 할 수 있습니다.

요약

STRCSPN 기능은 개발자가 스트링에서 특정 문자의 위치를 찾거나 문자열에서 유효한 부품을 잘라내는 효율적이고 유연한 문자열 처리 도구입니다. 이 기능의 사용을 마스터하면 문자열 데이터를 효과적으로 처리하고 분석하여 코드의 명확성과 유지 관리를 향상시킬 수 있습니다.