PHP에서 문자열을 비교하는 것은 매우 일반적인 요구 사항이며 때로는 두 문자열의 전체 내용을 비교할 필요가 없습니다. 현재 strncmp 함수는 유용 할 수 있습니다. 오늘, strncmp 함수를 사용하여 두 문자열의 첫 번째 n 문자를 비교하는 방법에 대해 논의 해 봅시다.
strncmp 는 PHP의 내장 문자열 비교 함수로, 지정된 두 줄 (즉, 첫 번째 N 문자)의 지정된 길이를 비교하는 데 사용됩니다. strcmp 함수와 달리 strncmp는 문자열의 후속 부분을 돌보지 않고 문자열의 시작부터 n 문자를 비교합니다. 첫 번째 n 문자가 동일하면 strncmp는 0을 반환합니다. 다른 경우 첫 번째 다른 문자의 ASCII 값에 따라 음수 또는 양수를 반환합니다.
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str2</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>
$ str1 : 비교할 첫 번째 문자열.
$ str2 : 비교할 두 번째 문자열.
$ 길이 : 비교할 문자 수를 지정합니다.
이 함수는 정수를 반환하고 값의 의미는 다음과 같습니다.
0 : 첫 번째 N 문자가 동일하다는 것을 의미합니다.
음수 : $ str1 에서 첫 번째 다른 문자의 ASCII 값이 $ str2 의 ASCII 값보다 작음을 나타냅니다.
양수 : $ str1 에서 첫 번째 다른 문자의 ASCII 값은 $ str2 의 ASCII 값보다 크다는 것을 나타냅니다.
strncmp 사용 방법을 더 잘 이해하는 데 도움이되는 간단한 예를 살펴 보겠습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"Hello, PHP!"</span></span><span>;
</span><span><span class="hljs-comment">// 비교하기 전에5캐릭터</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strncmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> === </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"앞으로5캐릭터相同!"</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">"앞으로5캐릭터不同!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
산출:
<span><span>앞으로5캐릭터相同!
</span></span>
이 예에서는 strncmp를 사용하여 두 문자열의 처음 5자를 비교합니다. $ str1 과 $ str2 의 처음 5자가 hello 이므로 strncmp는 0을 반환하여 문자열 의이 부분이 동일하다는 것을 나타냅니다.
strncmp를 사용하는 장점은 비교할 문자 수를 정확하게 제어 할 수 있으며 때로는 처음 몇 문자에만 관심이 있다는 것입니다. 예를 들어, 사용자 이름이나 비밀번호를 확인할 때 입력 한 처음 몇 문자에 대한 예비 점검 만 수행하면됩니다. strncmp를 사용하면 불필요한 성능 오버 헤드를 피할 수 있습니다.
사용자 이름 또는 비밀번호 접두사 일치 : 사용자가 입력 한 사용자 이름 또는 비밀번호의 처음 몇 문자를 확인 해야하는 경우 STRNCMP를 사용하여 빠른 일치 할 수 있습니다.
URL 경로 일치 : 웹 애플리케이션을 개발할 때 요청 된 리소스 유형을 결정하거나 라우팅 매칭을 수행하려면 URL의 처음 몇 문자를 확인해야합니다.
파일 이름 또는 파일 경로 비교 : strncmp는 파일 유형을 결정하거나 일부 처리를 수행하기 위해 파일 이름의 처음 몇 문자를 비교 해야하는 경우 이상적인 선택입니다.
STRNCMP 함수는 PHP에서 효율적이고 유연한 문자열 비교 방법을 제공하며, 이는 특히 두 문자열의 첫 번째 N 문자를 비교하는 데 특히 적합합니다. 사용자 입력 확인, 경로 일치 또는 기타 문자열 처리 시나리오에 관계없이 strncmp는 작업을 완료하는 데 도움이 될 수 있습니다.
STRNCMP 사용을 마스터하면 PHP 프로그래밍이보다 효율적이고 정확하게 만들 수 있으며 불필요한 문자열 비교 작업을 줄이며 프로그램 성능을 향상시킬 수 있습니다.