2차원배열 특정값 기준으로 정렬
페이지 정보
작성자 서방님 댓글 0건 조회 398회 작성일 19-09-04 09:39본문
<?
function arr_sort($array, $key, $sort="asc") { // 정렬대상 array, 정렬 기준 key, 오름/내림차순
$keys = array();
$vals = array();
foreach ($array as $k=>$v) {
$i = $v[$key].".".$k;
$vals[$i] = $v;
array_push($keys, $k);
}
unset($array);
if ($sort=="asc") {
ksort($vals);
}
else {
krsort($vals);
}
$ret = array_combine($keys, $vals);
unset($keys);
unset($vals);
return $ret;
}
$arr = array(
array("num" => 3, "str" => "e"),
array("num" => 1, "str" => "d"),
array("num" => 4, "str" => "c"),
array("num" => 2, "str" => "b"),
array("num" => 5, "str" => "a"),
array("num" => 6, "str" => "f"),
array("num" => 7, "str" => "g"),
array("num" => 8, "str" => "h")
);
// 배열의 str 값을 기준으로 오름차순으로 정렬
$result1 = arr_sort($arr,"str");
// 배열의 num값을 기준으로 내림차순으로 정렬
$result2 = arr_sort($arr,"num","desc");
?>
댓글목록
등록된 댓글이 없습니다.
