Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

PHP 배열안에 든 객체 정렬

$stalls라는 배열에 들어있는 객체들을 날짜 내림차순으로 정렬하려고 할 때, 아래처럼 한다(PHP 5.3 이상).

usort($stalls, function($a, $b){
	if($a->date == $b->date){
		return 0;
	}
	if($a->date > $b->date){
		return -1;
	}
	if($a->date < $b->date){
		return 1;
	}
});

오름차순으로 정렬하고 싶다면 -1과 1의 리턴 조건을 서로 바꾸면 된다.

PHP 5.2 이하에서는

usort의 두번째 인자값으로 js처럼 익명 함수를 그냥 넘겼는데, PHP 5.2까지는 익명 함수가 지원되지 않는다. 따라서 PHP 5.2 이하 버전을 사용하고 있다면 아래처럼 사용한다.

function sort_by_date($a, $b){
	if($a->date == $b->date){
		return 0;
	}
	if($a->date > $b->date){
		return -1;
	}
	if($a->date < $b->date){
		return 1;
	}
}
usort($stalls, 'sort_by_date');

함수를 만들고, 함수 이름을 넘겨 주는 방식이다.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다