strcmp (String Compare)는 두 줄의 크기를 비교하는 PHP의 내장 기능입니다. 다른 문자가 발견 될 때까지 문자열 문자를 문자별로 비교합니다. 두 줄이 동일하면 strcmp는 0을 반환합니다. 첫 번째 문자열이 두 번째 문자열보다 크면 정수가 0보다 큰 정수를 반환합니다. 첫 번째 문자열이 두 번째 문자열보다 작 으면 정수가 0보다 작습니다.
문법:
<span><span><span class="hljs-title function_ invoke__">strcmp</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>
매개 변수 :
$ str1 : 비교할 첫 번째 문자열.
$ str2 : 비교할 두 번째 문자열.
반품 값 :
두 줄이 같으면 0을 반환하십시오.
$ str1이 $ str2 미만인 경우 음수가 반환됩니다.
$ str1 이 $ str2 보다 큰 경우 양수가 반환됩니다.
예:
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"apple"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"banana"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</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-comment">// 출력 음수,왜냐하면 "apple" < "banana"</span></span><span>
</span></span>
STRCMP 는 사례에 민감합니다. 즉, 두 문자열이 내용에서 동일하지만 문자가 다른 경우 다르다고 생각합니다.
strcmp 와 유사하게, strcasecmp (문자열 비교, 케이스 비인성)도 두 줄의 크기를 비교하는 데 사용됩니다. 차이점은 문자열 비교를 수행 할 때 strcasecmp가 대소 문자를 민감하지 않다는 것입니다. 이것은 특히 문자 케이스를 무시할 때 비교할 때 더 유연하게 만듭니다.
문법:
<span><span><span class="hljs-title function_ invoke__">strcasecmp</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>
매개 변수 :
$ str1 : 비교할 첫 번째 문자열.
$ str2 : 비교할 두 번째 문자열.
반품 값 :
두 줄이 같으면 (사례가 무시됨) 0을 반환하십시오.
$ str1이 $ str2 미만인 경우 음수가 반환됩니다.
$ str1 이 $ str2 보다 큰 경우 양수가 반환됩니다.
예:
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"apple"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"APPLE"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcasecmp</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-comment">// 산출0,왜냐하면 "apple" 그리고 "APPLE" 대소 문자에 민감한 경우 동일합니다</span></span><span>
</span></span>
strcmp 와 strcasecmp 의 핵심 차이는 문자에 민감한 지 여부입니다.
STRCMP 는 사례에 민감하며 비교의 일부로 문자 케이스를 사용합니다.
strcasecmp는 사례를 무시하고 비교할 때 동일한 문자의 경우가 다르다고 생각되며 결과에 영향을 미치지 않습니다.
상단 및 소문자에 따라 엄격하게 비교 해야하는 경우 strcmp를 사용할 수 있습니다.
예를 들어, 파일 시스템에서는 파일 이름의 경우, 특히 사례에 민감한 운영 체제 (예 : Linux)를 구별해야 할 수도 있습니다.
비교를 위해 문자의 경우를 무시 해야하는 경우 strcasecmp를 사용할 수 있습니다.
예를 들어, 사용자 입력을 처리 할 때 사용자가 입력 한 내용은 경우에 따라 다를 수 있지만 비교할 때 문자 케이스에 영향을받지 않기를 원합니다.
예:
<span><span><span class="hljs-variable">$usernameInput</span></span><span> = </span><span><span class="hljs-string">"Admin"</span></span><span>;
</span><span><span class="hljs-variable">$usernameDatabase</span></span><span> = </span><span><span class="hljs-string">"admin"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strcasecmp</span></span><span>(</span><span><span class="hljs-variable">$usernameInput</span></span><span>, </span><span><span class="hljs-variable">$usernameDatabase</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">"사용자 이름 일치!"</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></span><span>;
}
</span></span>
이 예에서 STRCASECMP는 입력 한 문자가 대문자인지 소문자인지 여부에 관계없이 데이터베이스의 사용자 이름과 사용자가 입력 한 사용자 이름을 비교하는 데 사용됩니다.
strcmp 와 strcasecmp 는 둘 다 두 줄을 비교하는 데 사용되는 함수이지만 주요 차이점은 사례에 민감한 지 여부입니다. STRCMP는 문자 사례를 엄격하게 비교하는 반면, strcasecmp는 문자 케이스를 무시합니다. 올바른 비교 결과를 얻으려면 특정 요구 사항에 따라 적절한 기능을 선택하십시오. 민감한 데이터를 처리 할 때 상류와 소문자의 차이는 일반적으로 필요하지만 사용자 입력과 같은 무감각 데이터를 처리 할 때는 상단 및 소문자의 비교를 무시하는 것이 더 편리 할 수 있습니다.