- <?php
- $invalue[] = "good morning";
- $invalue[] = "good afternoon";
- $invalue[] = "good evening";
- $invalue[] = "good bye";
- $invalue[] = "good night";
- $invalue[] = "good morning";
- for($i = 1; $i < count($invalue); $i++){
- $outvalue = strcasecmp($invalue[0], $invalue[$i]);
- if($outvalue > 0){
- echo $invalue[0]."는 <br>\n".$invalue[$i]."보다 <br>\n".
- "틀린 문자 부분 알파벳의 순서가 ".
- $outvalue."만큼 앞에 있습니다.<br>\n<br>\n";
- }
- else if($outvalue < 0){
- echo $invalue[0]."는 <br>\n".$invalue[$i]."보다 <br>\n".
- "틀린 문자 부분 알파벳의 순서가 ".
- abs($outvalue)."만큼 뒤에 있습니다.<br>\n<br>\n";
- // abs() 함수는 음수를 정수로 반환해주는 함수
- // 말로 설명할땐 -1 같이 표기는 맞지 않아 abs()함수 사용
- }
- else if($outvalue == 0){
- echo $invalue[0]."는 ".$invalue[$i]."와 ".
- "동일한 단어 입니다.<br>\n<br>\n";
- }
- else echo "strcasecmp() 함수 에러입니다. <br>\n<br>\n";
- }
- /* for문 출력결과
- good morning는
- good afternoon보다
- 틀린 문자 부분 알파벳의 순서가 12만큼 앞에 있습니다.
- good morning는
- good evening보다
- 틀린 문자 부분 알파벳의 순서가 8만큼 앞에 있습니다.
- good morning는
- good bye보다
- 틀린 문자 부분 알파벳의 순서가 11만큼 앞에 있습니다.
- good morning는
- good night보다
- 틀린 문자 부분 알파벳의 순서가 1만큼 뒤에 있습니다.
- good morning는 good morning와 동일한 단어 입니다.
- */
- ?>
--------------------------------------------------------------------------------------------
int strcasecmp ( string $str1 , string $str2 )
10. 라인
$str1문자열과 str2문자열을 비교하여 틀린 부분에서
문자 기본 정렬 나열 순위를 비교해서 차수를 반환합니다.
또한 대소문자를 구분하지 않습니다.
예를 들어 morning과 afternoon을 비교해 보면
단어가 다르므로 틀린 부분인 첫글자인 m과 a을 비교하는데
알파벳 순으로 보면(나열 순위 숫자는 설명하기 위한 임의숫자)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
a b c d e f g h i j k l m n o p q r s t u v w x y z
13번째인 m과 1번째인 a의 차수인[13 - 1 = 12] 결과값12를 반환 합니다.
비슷한 함수로는 strcmp()함수가 있습니다.
위 strcasecmp()함수와 다르게 차수값이 양수면 1, 음수면 -1를 반환합니다.
또한 대소문자를 구분합니다.