Programming/PHP / / 2020. 12. 7. 18:41

배열의 key를 기준으로 정렬

728x90
Array
(
	[0] => Array
		(
			[no] => 149923
			[name] => 'naver'
			[url] => 'naver.com'
			[exp] => 20220301
		)
	[1] => Array
		(
			[no] => 149924
			[name] => 'daum'
			[url] => 'daum.net'
			[exp] => 20201201
		)
	[2] => Array
		(
			[no] => 149925
			[name] => 'google'
			[url] => 'google.com'
			[exp] => 20210101
		)
	[3] => Array
		(
			[no] => 149926
			[name] => 'outlook'
			[url] => 'outlook.com'
			[exp] => 20211111
		)
)

위와 같은 배열이 있다고 가정을 합니다. 여기에서 exp(종료일)를 기준으로 오름차순(ASC) 정렬을 합니다. 그렇다면 결과값은 daum, google, outlook, naver 순으로 될 것입니다.

array_column이라는 함수를 사용하면 됩니다(PHP 5.5 이상).

$exp = array_column($array, 'exp'); // $array는 위에 있는 배열을 가리키는 변수입니다.
array_multisort($exp, SORT_ASC, $array);
print_r($array);
반응형