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

본문 바로가기

php

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

작성일 19-09-04 09:39

페이지 정보

작성자서방님 조회 75회 댓글 0건

본문

<?
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");

?>

댓글목록

등록된 댓글이 없습니다.

게시물 검색
Copyright © 서방님.kr All rights reserved.
PC 버전으로 보기