728x90
반응형
# Code
function arr_sort( $array, $key, $sort ){
$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;
}
# Sample
$arr = array(
array('name' => '홍길동', 'age' => '30')
, array('name' => '임세준', 'age' => '25')
, array('name' => '배성재', 'age' => '24')
, array('name' => '김광현', 'age' => '33')
, array('name' => '류현진', 'age' => '34')
);
//배열 내 age 값 기준으로 오름차순으로 정렬한다
$result = arr_sort( $arr, 'age' , 'asc' );
//배열 내 name 값 기준으로 내림차순으로 정렬한다
$result = arr_sort( $arr,'name', 'desc' );
# 다시 생각해 보니 usort()를 쓰자.
usort($arr , function(a,b){
return $a['name'] - $b['name'];
})
usort($arr , function(a,b){
return $b['name'] - $a['name'];
})
반응형
'Dev > PHP' 카테고리의 다른 글
PHP에서 한글을 substr로 짜를때 깨짐 (0) | 2022.08.29 |
---|---|
[PHP] Postgresql DB Connect Test (0) | 2022.04.19 |
Php에서 로그 남기고 실시간 확인 (0) | 2022.03.29 |