본문 바로가기
개발/php

php 배열 날짜별로 sort 정렬

by 향유 2021. 1. 19.

예시 데이터

<div align=left><pre>array(6) {

["2020-04-01"]=>

array(7) {

["seq"]=>

string(1) "1"

["sum_pay"]=>

string(5) "50000"

["date"]=>

string(10) "2020-04-01"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-08"]=>

array(3) {

["seq"]=>

string(1) "2"

["sum_pay"]=>

string(5) "50000"

["date"]=>

string(10) "2020-04-08"

}

["2020-04-02"]=>

array(5) {

["date"]=>

string(10) "2020-04-02"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-03"]=>

array(5) {

["date"]=>

string(10) "2020-04-03"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-07"]=>

array(5) {

["date"]=>

string(10) "2020-04-07"

["sum_reward_unit"]=>

string(1) "0"

["count_pay"]=>

string(1) "1"

["agency_val"]=>

string(6) "0.0000"

["total"]=>

string(3) "0.0"

}

["2020-04-10"]=>

array(5) {

["date"]=>

string(10) "2020-04-10"

["sum_reward_unit"]=>

string(1) "0"

["count_pay"]=>

string(1) "1"

["agency_val"]=>

string(6) "0.0000"

["total"]=>

string(3) "0.0"

}

}

</pre><br>End</div>

 

정렬 함수


//날짜를 숫자로 변환하여 정렬 후 다시 날짜로 변환

$temp = array();
foreach($arrReturn as $key=>$value){
$temp[strtotime($key)] = $value;
}

ksort($temp);

$new = array();
foreach($temp as $key=>$value){
$new[date("Y-m-d",$key)] = $value;
}

$arrReturn=$new;

 

 

결과 데이터

<div align=left><pre>array(6) {

["2020-04-01"]=>

array(7) {

["seq"]=>

string(1) "1"

["sum_pay"]=>

string(5) "50000"

["date"]=>

string(10) "2020-04-01"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-02"]=>

array(5) {

["date"]=>

string(10) "2020-04-02"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-03"]=>

array(5) {

["date"]=>

string(10) "2020-04-03"

["sum_reward_unit"]=>

string(4) "8500"

["count_pay"]=>

string(2) "21"

["agency_val"]=>

string(8) "154.0000"

["total"]=>

string(6) "3200.0"

}

["2020-04-07"]=>

array(5) {

["date"]=>

string(10) "2020-04-07"

["sum_reward_unit"]=>

string(1) "0"

["count_pay"]=>

string(1) "1"

["agency_val"]=>

string(6) "0.0000"

["total"]=>

string(3) "0.0"

}

["2020-04-08"]=>

array(3) {

["seq"]=>

string(1) "2"

["sum_pay"]=>

string(5) "50000"

["date"]=>

string(10) "2020-04-08"

}

["2020-04-10"]=>

array(5) {

["date"]=>

string(10) "2020-04-10"

["sum_reward_unit"]=>

string(1) "0"

["count_pay"]=>

string(1) "1"

["agency_val"]=>

string(6) "0.0000"

["total"]=>

string(3) "0.0"

}

}

</pre><br>End</div>

댓글