현재 위치: > 최신 기사 목록> 반환 값은 무엇을 의미합니까? 한 기사에서 0, 긍정적 및 음수 값의 의미를 이해

반환 값은 무엇을 의미합니까? 한 기사에서 0, 긍정적 및 음수 값의 의미를 이해

gitbox 2025-08-13

PHP에서 strcmp () 는 매우 일반적으로 사용되는 문자열 비교 함수입니다. 두 줄의 크기를 비교하고 비교 결과에 따라 다른 값을 반환하는 데 사용됩니다. strcmp () 의 반환 값의 의미를 이해하는 것은 개발 중 문자열 작업을 처리하는 데 매우 중요합니다.

strcmp () 함수의 기본 구문

strcmp () 함수의 구문은 다음과 같습니다.

 <span><span><span class="hljs-keyword">int</span></span><span> </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>

이 함수는 두 개의 매개 변수 STR1STR2를 취하고 정수 값을 반환하여 두 문자열의 비교 결과를 나타냅니다.

반환 값의 의미

strcmp () 에 의해 반환 된 정수 값은 일반적으로 세 가지 가능한 결과가 있습니다 : 음수, 0 및 양수.

1. 0 으로 돌아갑니다

strcmp ()가 0을 반환하면 두 줄이 정확히 같다는 것을 의미합니다. 즉, 내용, 케이스, 길이 등이 동일합니다. 요컨대, 두 줄은 말 그대로 동일합니다.

 <span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;

</span><span><span class="hljs-keyword">if</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-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>

2. 반환 음수

strcmp () 가 음의 값을 반환하면 str1이 str2 보다 작다는 것을 의미합니다. 이 비교는 캐릭터의 ASCII 값을 기반으로합니다. 다시 말해, String str1이 사전 순서에서 str2 전에 순위가 매겨지면 반환 값은 음수입니다.

예를 들어, "Apple"이 "Banana" 와 비교 될 때 문자 A 의 ASCII 값이 문자 B 보다 작기 때문에 strcmp ()는 음의 값을 반환합니다.

 <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">if</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>) &lt; </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">"'apple' 보다 적습니다 'banana'"</span></span><span>;
}
</span></span>

3. 양수 값으로 돌아갑니다

strcmp ()가 양수 값을 반환하면 str1이 str2 보다 크다는 것을 의미합니다. 즉, STR1은 사전 순서에서 STR2 후에 순위가 매겨집니다.

예를 들어, "바나나"가 "Apple" 과 비교 될 때, strcmp ()는 문자 B 의 ASCII 값이 문자 A 보다 크기 때문에 양수 값을 반환합니다.

 <span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"banana"</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">if</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>) &gt; </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">"'banana' 더 큽니다 'apple'"</span></span><span>;
}
</span></span>

문자열 비교는 사례에 민감합니다

strcmp () 에 의한 비교는 사례에 민감하다는 점에 유의해야합니다. 케이스 감도를 원하지 않으면 strcoll () 또는 strcasecmp () 와 같은 함수를 사용할 수 있습니다.

 <span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;

</span><span><span class="hljs-keyword">if</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-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>

이 예에서는 'h' 의 ASCII 값이 'h' 와 다르기 때문에 strcmp ()는 0이 아닌 값을 반환합니다.

요약

strcmp ()는 네거티브, 0 또는 양수 값을 반환하여 두 줄 사이의 크기 관계를 이해하는 데 도움이되는 강력한 문자열 비교 함수입니다.

  • 반환 0 : 두 줄은 동일합니다.

  • 음수 값을 반환합니다 : str1str2 보다 작습니다.

  • 양수 값을 반환합니다 : str1str2 보다 큽니다.

이 기능의 반환 값을 이해하면 문자열 작업 최적화 및 디버깅에 매우 유용합니다.