컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Tab키란 무엇인가요? 탭 키의 사용 용도; Tab KeyJava 자바] switch문, case문, default문; 스위치 문 사용 예제니콘 디카 화질 좋은 모델은? D200, D100, D80, D40, D40X ? Niko...포토샵] 니콘 소프트 포커스 필터 효과, 뽀샤시 효과; Nikon Soft-I, II, 1...포토샵] 소프트 필터 효과, 뽀샤시 효과; Photoshop Soft Focus Filte...니콘 애기번들 줌 렌즈 필터 사이즈, 아빠번들 휠터 구경 크기; Nikon 18-55mm ...C언어] YYYY-MM-DD hh:mm:ss 현재 날짜 시간 타임 스탬프 출력; ISO T...한글 수식 입력기 기초 사용법: 수학 공식 입력/편집기; 아래아한글 2005; HWP Eq...한영 키보드에서 가장 많이 쓰이는 키, 키보드 스킨의 '마모도'로서 측정(?) - SAMS...C언어] sprintf_s 함수 사용법: 비주얼 Visual C 2005 이상에서

PHP 문자열 배열 정렬/소트/소팅 함수, 대소문자 구분 없이; Sort Ignore Case, String Array

Friday, May 25, 2007

PHP 에서 배열 요소들을 순서대로 정렬하는 방법입니다. 영문 문자열 배열일 경우, 대소문자를 구분하지 않고 정렬하는 것이 자연스럽습니다.

C언어의 qsort() 함수처럼, PHP에서는 usort / sort 등의 함수를 사용할 수 있습니다.

usort 함수에 'strcasecmp' 라는 비교 함수 (Comparison Function) 를 넣으면 대소문자 구분 없이 소팅됩니다. 그런데 비교 함수 뒤에는 소괄호를 붙이면 안됩니다. strcasecmp() 이렇게 하면 PHP Warning: usort(): Invalid comparison function (잘못된 비교 함수) 이런 경고가 나오고 소팅도 되지 않습니다.

usort, sort, strcasecmp 함수 사용 예제


소스 파일명: example.php
<html>
<head>
<title>PHP Example</title>
</head>

<body>

<?php

  // 요소들이 순서 없이 섞여 있는 배열
  $a = array("bbb", "AA", "c", "ZZ", "ZZ2", "ZZ10", "CCC", "aa", "BBBB");


  // 대소문자 구분없이 소팅하기
  // 실용적임
  usort($a, 'strcasecmp');
  print_r($a);

/* 출력 결과:
Array
(
    [0] => aa
    [1] => AA
    [2] => bbb
    [3] => BBBB
    [4] => c
    [5] => CCC
    [6] => ZZ
    [7] => ZZ10
    [8] => ZZ2
)
*/



  // 대소문자 구분하여 소트
  sort($a);
  print_r($a);
/* 출력 결과
Array
(
    [0] => AA
    [1] => BBBB
    [2] => CCC
    [3] => ZZ
    [4] => ZZ10
    [5] => ZZ2
    [6] => aa
    [7] => bbb
    [8] => c
)
*/

?>

</body>
</html>




0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top