이번장에서는 Array Sorting에 대해서 알아보겠습니다.
sorting 이란 정렬이란 의미죠. a, b, c, d... , 1, 2, 3, 4 .... , ㄱ, ㄴ, ㄷ, ㄹ ... 등순으로 정렬할 때 사용합니다.
sorting(정렬) 의 방법에는
• sort() - 오름차순 정렬합니다.• rsort() - 내림차순 정렬합니다.• asort() - 값에 따라 오름차순으로 연관된 배열을 정렬합니다.• ksort() - 키값에 따라 오름차순으로 연관된 배열을 정렬합니다.• arsort() - 값에 따라 내림차순으로 연관된 배열을 정렬합니다.• krsort() - 키값에 따라 내림차순으로 연관된 배열을 정렬합니다.
가 있습니다.
sort(), rsort()
<?php$fruits=array("Apple","Orange","Banana");sort($fruits);
$clength=count($fruits);for($x=0;$x<$clength;$x++) { echo $fruits[$x]; echo "<br>"; }?>
// 위 구문을 출력하면
Apple
Orange
Banana
처럼오름차순으로 정렬되어 나오는것을 확인할 수 있습니다.
마찬가지로 rsort() 함수를 사용하면 그와 반대로 내림차순으로 정렬되어 나오게 됩니다.
숫자, 한글, 알파벳 등도 이용해서테스트 해보길 바랍니다.
문제)변수 $nums 에 숫자 22, 41, 10, 33, 3, 1 을 내림차순으로 정렬되어 나오게 해보세요~
asort(), ksort()
<?php$age=array("Park"=>"35","Kim"=>"37","Lee"=>"43");asort($age);foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; }?>
// foreach 관련해서는 다음 포스팅에서 자세히 알아보겠습니다. 일단 어떻게 출력되는지에 대해서 먼저 알아보겠습니다. asort() 함수는 값에 따라 오름차순으로 정렬된다 하였습니다. 그럼 값은 무엇이고 키값은 무엇인지 우선 알아보겠습니다.
배열 array의 함수에 ("Park"=>"35","Kim"=>"37","Lee"=>"43") 내용이 들어있는데 "=>" 을 기준으로 좌측에 있는부분 즉 Park, Kim, Lee 가 키값이라 합니다. 그럼 당연히 값은 우측에 있는 "35, 37,43" 이겠죠
자! 그럼 값에 따라 오름차순으로 정렬된다 했으니 당연히 숫자를 기준으로 정렬될것입니다.
위구문을 출력해보면
Key=Park, Value=35 Key=Kim, Value=37Key=Lee, Value=43
처럼 출력됩니다.
그럼 그 반대로 키값을 정렬하는 ksort() 함수를 사용하게 되면 어떻게 출력될까요?Key=Kim, Value=37Key=Lee, Value=43
Key=Park, Value=35
처럼키값을 기준으로 오름차순으로 정렬되게 되어 나오게 됩니다.
arsort(), krsort()
차 위 함수 두개는 asort(), ksort() 함수와 반대로 키와 값을 기준으로 내림차순되어 나타나게 됩니다.
위 예제를 이용하여 asort() 또는 ksort()을 arsort(), krsort()으로 변경하여 출력해보시기 바랍니다.
그냥 설명된 글을 읽는것보다 한번 직접코딩을 해보면 감이 확 올테니직접 코딩을 해보는게 아주 중요합니다.
다음장에서는 while, for, foreach 에 대해서 알아보겠습니다. 3개의 함수는 반복문(loop)을 실행하는 함수입니다.