PHP의 문서는 조금 부족한 내가 마지막 예는 나를 혼란왜 "echo strcmp ('60 ','100 ');" PHP는 출력 5? 이 기능에
echo strcmp('hello', 'hello');
//outputs 0 as expected - strings are equal.
echo '<hr />';
echo strcmp('Hello', 'hello');
//outputs -32, a negative number is expected as
//uppercase H has a lower ASCII value than lowercase h.
echo '<hr />';
echo strcmp('60', '100');
//outputs 5.
...이 기능은 ASCII 값을 비교 것을 읽을 수 있도록했다. 나는 그것이 왜 긍정적 인 숫자를 출력하는지 이해하지 못한다. '60'의 6 = 54
전체 ASCII 값 0 = 48
1의 ASCII 값
- ASCII 값 = (54 + 48) = '100'= (49 + 48 + 48) = 145
STRCMP 102
사람이 이유를 설명 할 수 '60'
보다 큰 것으로 보인다에도 불구하고 '100'보다 "더 큰"이라고 aying?감사
이것은 보장 된 동작이 아니라는 점을 유의하십시오.이 입력 매개 변수의 값이 0보다 커야한다는 것이 보장됩니다. –
@ SimonRichter : 동의하지 않는다고 동의합니다. 그러나 그것은 전통적입니다. 1978 년에 내가 작성한이 코드는 반환 값을 계산하는 방법에 따라 달라집니다. * 여전히 작동합니다 *! – wallyk
@wallyk, 문서가 첫 번째 문자의 차이점을 반환한다고 말할 때이 대답이 올바른지 어떻게 알 수 있습니까? – Pacerier