2차원배열 특정값 기준으로 정렬 > php

본문 바로가기

php

2차원배열 특정값 기준으로 정렬

페이지 정보

작성자 서방님 댓글 0건 조회 15회 작성일 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");

?>

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
53
어제
413
최대
592
전체
83,810

그누보드5
Copyright © 서방님.kr All rights reserved.