날짜 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;
}
?>
아래와 같이 해보시겠어요?^^
<?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>"; // 정렬된 배열을 순차 출력
}
?>
답변을 작성하시기 전에 로그인 해주세요.