Programming Language/PHP
PHP uksort와 usort 사용자정의 배열 정열
HoZang
2016. 4. 21. 23:21
우선 uksort는 배열의 key값을 기준으로, usort는 value값을 기준으로 정렬한다
$array = array(
"abc"=>"123",
"def"=>"456",
"ghi"=>"789"
);
function cmt ($a,$b){
if($a==$b):
return 0;
endif;
return $a<$b ? -1 : 1;
}
위 처럼 정의된 함수는 배열의 key나 value의 두 값을 비교해
같으면 제자리를 적으면 포인터 한칸 전진 크면 한칸 후진 시킨다.
이렇게 정의 된 함수를
usort($array, "cmt");
usort나 uksort함수에 적용하면 배열은 함수의 규칙에 따라 재 정렬된다.
위 처럼 먼저 함수를 선언 한 후 적용해도 되고,
uksort($array,function($a,$b){
......
});
이렇게 method의 parameter에 바로 함수를 선언해도 된다.