날짜 Sort 관련 질문 드립니다.

날짜 Sort 관련 질문 드립니다.

QA

날짜 Sort 관련 질문 드립니다.

본문

안녕하세요 

 

현재 랜덤으로 날짜를 뽑아서 출력을 시키는 부분을 하고 있습니다.

 

랜덤으로 뽑아서 출력까지는 문제없이 출력이 되는데

 

출력되는 부분을 정렬하고 싶습니다.

 

도움좀 구할 수 있을까요?

 

감사합니다.

현재 출력값은 아래와 같습니다.

 

//출력값

2018-03-05
2018-03-12
2018-03-19
2018-03-05
2018-03-08
2018-03-11
2018-03-14
2018-03-17
2018-03-20
2018-03-05
2018-03-06
2018-03-07
2018-03-08
2018-03-09
2018-03-10
2018-03-11
2018-03-12

 

 


<?php
$today = date("Y-m-d", time()-3600);
$s_date = '2018-03-01';
$e_date = ($today);
$arr = range(1, 7);
shuffle($arr);
foreach ($arr as $number) {
    //echo $number.'<br>';
for ($t=strtotime($s_date.'MON'),$e=strtotime($e_date);$t<=$e;$t+=86400*$number) // 지정 날짜 이후 요일 구해, 랜덤 날짜더해가며 날짜 출력
{//fdlf2304
$aaa = date('Y-m-d',$t).'<br>';
echo ($aaa);
}
}
?>

 
<?php
$today = date("Y-m-d", time()-3600);
$s_date = '2018-03-01';
$e_date = ($today);
$arr = range(1, 7);
shuffle($arr);
foreach ($arr as $number) {
for ($t=strtotime($s_date.'MON'),$e=strtotime($e_date);$t<=$e;$t+=86400*$number) // 지정 날짜 이후 요일 구해, 랜덤 날짜더해가며 날짜 출력
{
$aaa = date('Y-m-d',$t).'<br>';
echo ($aaa);
}
}
 
//$aaa 출력 즉, 날짜 출력을 Sort(정렬)하고 싶습니다. 어느 방법으로 해야 할까요?
?>

이 질문에 댓글 쓰기 :

답변 3

원하시는 답인지 모르겠습니다. 저도 초보자라..

 


<?php
$darray = array(); //배열 생성
$today = date("Y-m-d", time()-3600);
$s_date = '2018-03-01';
$e_date = ($today);
$arr = range(1, 7);
shuffle($arr);
foreach ($arr as $number) {
    //echo $number.'<br>';
    for ($t=strtotime($s_date.'MON'),$e=strtotime($e_date);$t<=$e;$t+=86400*$number) // 지정 날짜 이후 요일 구해, 랜덤 날짜더해가며 날짜 출력
        {//fdlf2304
            $aaa = date('Y-m-d',$t).'<br>';
            array_push($darray, $aaa); //배열에 추가
        }
}
//배열 정렬
rsort($darray);
//배열 출력
foreach ($darray as $value) {
    echo $value;
}
?>

배열에 다 넣고, sort() 쓰시면 될것 같아요.

http://php.net/manual/en/function.sort.php

아래와 같이 해보시겠어요?^^

 


<?php
$date_arr =  array(); //생성된 일시를 담을 배열 선언
$today = date("Y-m-d", time()-3600);
$s_date = '2018-03-01';
$e_date = ($today);
$arr = range(1, 7);
shuffle($arr);
foreach ($arr as $number) {
for ($t=strtotime($s_date.'MON'),$e=strtotime($e_date);$t<=$e;$t+=86400*$number) // 지정 날짜 이후 요일 구해, 랜덤 날짜더해가며 날짜 출력
{
array_push($date_arr, $t); // 생성된 일시를 배열에 모두 삽입만...
//$aaa = date('Y-m-d',$t).'<br>';
//echo ($aaa);
}
}
 
rsort($date_arr);// 위에서 삽입 완료된 시간 데이터들을 정렬(rsort는 내림차순 sort는 오름차순)
 
//$aaa 출력 즉, 날짜 출력을 Sort(정렬)하고 싶습니다. 어느 방법으로 해야 할까요?
foreach ($date_arr as $key => $val) {
    echo date('Y-m-d',$val)."<br>"; // 정렬된 배열을 순차 출력
}
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 7
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT