bool sort ( array &$array [, int $sort_flags ] )
(PHP 4, PHP 5)

이 함수는 일반적인 원소들을 작은 값에서 큰 값으로 정렬해 줍니다. array에 새로운 키를 할당하거나 이미 할당되어 있는 키를 제거할 수 있지만, 여러 자료형을 가지고 있는 배열이나 키 원소를 유지할 필요가 있는 곳에서는 사용하지 말아야 합니다.

이 함수는 다음의 인수를 사용할 수 있습니다.

상 수 설 명
SORT_REGULAR 통상적인 방법으로 원소를 비교합니다.
(자료형을 바꾸지 않음)
SORT_NUMERIC 수치적으로 원소를 비교합니다.
SORT_STRING 문자열로 원소를 비교합니다.
SORT_LOCALE_STRING 현재 로케일에 기반하여 문자열로 원소를 비교합니다.
PHP 6 전에는, setlocale()로 변경할 수 있는 시스템 로케일을 사용하지만 PHP 6부터는, i18n_loc_set_default()함수 사용을 권고합니다.

다음은 원래의 키가 제거되고 새로운 키 원소를 할당 받으며 데이터 배열이 정렬됩니다.

<?php
 $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
 sort($fruits);
 foreach ($fruits as $key => $val) {
   echo "$key = $val\n";
 }
 /*
 출력:
 0 = apple
 1 = banana
 2 = lemon
 3 = orange
 */
 ?>

<?php
 $fruits = array("lemon", "orange", "banana", "apple");
 sort($fruits);

 foreach ($fruits as $key => $val) {
   echo "fruits[" . $key . "] = " . $val . "\n";
 }
 /*
 출력:
 fruits[0] = apple
 fruits[1] = banana
 fruits[2] = lemon
 fruits[3] = orange
 */
 ?>

<?php
 $array1 = array('apple', 'banana','pear');
 $array2 = array('grape', 'pear','orange');

 function array_unique_merge_sort($array1, $array2){
   $array = array_unique(array_merge($array1, $array2));
   sort($array);
   foreach ($array as $key => $value) {
     $new[$key] = $value;
   }
   return $new;
 }
 print_r (array_unique_merge_sort($array1, $array2));

 /*
 출력:
 Array
 (
  [0] => apple
  [1] => banana
  [2] => grape
  [3] => orange
  [4] => pear
 )
 */
 ?>

sort() 함수의 역은 rsort() 함수입니다. rsort() 함수는 큰 값에서 작은 값으로 정렬됩니다.

<?php
 $fruits = array(4, 6, 2, 22, 11);
 rsort($fruits);
 foreach ($fruits as $val) {
   echo $val . ", ";
 }
 // 출력: 22, 11, 6, 4, 2
 ?>

<?php
 $fruits = array("lemon", "orange", "banana", "apple");
 rsort($fruits);

 foreach ($fruits as $key => $val) {
   echo "fruits[" . $key . "] = " . $val . "\n";
 }
 /*
 출력:
 fruits[0] = orange
 fruits[1] = lemon
 fruits[2] = banana
 fruits[3] = apple
 */
 ?>

0 댓글