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에 바로 함수를 선언해도 된다.